1 :
デフォルトの名無しさん :
03/05/31 13:42 みなさんはどうやって勉強しましたか? また、どの位の期間かかりましたか? 勉強を始めた動機は何ですか?
2 :
デフォルトの名無しさん :03/05/31 13:43
2
4 :
デフォルトの名無しさん :03/05/31 14:16
おぽんぽん
5 :
デフォルトの名無しさん :03/05/31 14:16
マジレスすると、板違い
6 :
デフォルトの名無しさん :03/06/01 14:18
教えれ
>みなさんはどうやって勉強しましたか? VBAの仕様書読み >また、どの位の期間かかりましたか? 3時間 >勉強を始めた動機は何ですか? 仕事で仕方なく
8 :
デフォルトの名無しさん :03/06/01 22:09
3時間?????????
本読め
11 :
デフォルトの名無しさん :03/06/11 20:02
ちゃんと教えれ
12 :
デフォルトの名無しさん :03/06/11 20:50
聞くまえに自分からしゃべれ。
VBAごときで躓いてんじゃねぇよヴォケ。「●新しいマクロの記録(R)...」があるだろうが。 適当に記録したやつを解析汁!
14 :
デフォルトの名無しさん :03/06/12 02:59
ねぇねぇ,Office2003 では Dot Net 版の VBA ってのができてるですかね?
てすと。
public class Test
{
public Test()
{
}
public void Hello()
{
System.out.println("Hello Java world.\n");
}
public static void main(String args[])
{
Test test = new Test();
test.Hello();
}
}
>>16
17 :
デフォルトの名無しさん :03/07/21 12:58
(^^)
19 :
デフォルトの名無しさん :03/08/11 23:45
Excelのマクロを使って、同じフォルダの中にあるすべてのExcelファイルを 起動させる仕様にしたいのですが、よく分かりません。 指定したフォルダの中にあるすべてのファイルを起動させる方法や、同じ フォルダの中のひとつの指定したファイルを開くことはできたのですが、 前述した仕様にだけはどうしてもできませんでした。 初心者で申し訳ありませんが、どうしても知りたいので、誰か分かる方が いましたら教えてください、よろしくお願いします。
20 :
デフォルトの名無しさん :03/08/12 01:49
>>19 FileSystemObject をつかってファイルを取得して開くってのは?
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
荒すな
24 :
デフォルトの名無しさん :03/08/17 19:55
はじめまして。 VBAとは、違うのですがVB.6.0でLogの底をeではなく10にして 計算したいのですがどうすればいいですか? Log10(10)ではうまくいきませんでした。 場違いですが教えて下さい。
Log(X) / Log(10)
EXCELではなくOutlookなのですが、本質は変わらないと思うのでこちらで質問させてください。 Rndで乱数を取得しようとしても、毎回同じ数値を返してしまうようです。 どうすれば、(100%無理にしても)限りなくランダムに近く数値を返せるようにできるのでしょうか? Private Sub Application_Startup() '【定義】アプリと名前空間 Set myOlApp = CreateObject("Outlook.Application") Set myNamespace = myOlApp.GetNamespace("MAPI") '【定義】フォルダ群の定義 Set myNotes = myNamespace.GetDefaultFolder(olFolderNotes) '【本番】フォルダ内のアイテム数の取得 Dim NumItms As Integer NumItms = myNotes.Items.Count '1から、最後の数までのどれかのインデックス番号を取得 randomnumber = Int(Rnd * (NumItms - 1)) + 1 myNotes.Items(randomnumber).Display End Sub
30 :
デフォルトの名無しさん :03/11/27 21:45
age
俺は仕事で必要になって始めたが。 まあ、その前にプログラミングの知識があったから文法とかはあんま苦労しなかった。 ヘルプがしょぼくてプロパティとかメソッド探しに苦労したが。
34 :
デフォルトの名無しさん :04/02/24 17:56
EXCEL2000のVBAで質問お願いします。 ・タイマーコントロールは使用可能でしょうか? ・使用する場合、何を参照設定すればよいのでしょうか? ・また、タイマーでのイベントは他のイベント (たとえばCalculateイベントとか) と同時に使用可能でしょうか? (てか、1BOOKでイベントをマルチに動かせるのだろうか?) 当方、EXCELのVBAは明るくないのでお分かりの方 よろしくお願いします。
35 :
デフォルトの名無しさん :04/02/24 18:16
ココはすれ違い立ったようで・・・ 申し訳ない(^ ^;
36 :
デフォルトの名無しさん :04/03/06 13:33
>>34 そもそもアドインを除いた標準Excelに、タイマーコントロール機能なんてあったか?
ontimeメソッドのことなら、Excel97以降では外された記憶が。
age
表がある場合に指定した関数で内挿するマクロのお手本を教えて
40 :
デフォルトの名無しさん :04/03/09 23:14
PCに「REFER情報がブラ変です」って出て書き込みできない場合、どうすれば良いのでしょうか? 初心者&スレ違いですみません!
41 :
デフォルトの名無しさん :04/03/09 23:44
>>39 >表がある場合に指定した関数で内挿する...
って、理解不可なんだが、表がある場合って、どういう場合の事なんだ?
43 :
デフォルトの名無しさん :04/05/04 18:59
質問です。 テキストボックスに入力したデータをA5のセルに表示する方法を教えてくださいませんか?
はじめまして、いつもROMさせて頂いてます。 ここはパソコン強そうな人多いので教えていただきたいのですが、 今会社でEXCEL VBAのソフト作っていててマニュアルも作ろうと考えてます。 そこで色んな案が出てますが 1・動画データで絵を見せながらマニュアルを作る 2・印刷物からスキャナでPDF作って配布する 3・ホームページみたいな感じでマニュアル作る(HTMLヘルプみたいな?) と三つの案がでています。 マニュアル作るの今回が初めてなのですが、画像と文書使ってわかりやすく見 せるのに わかりやすさ・手間など考慮して考えるとどれが一番いい方法なのでしょうか ? 諸先輩の方の貴重な御意見伺いたいです。みなさんよろしくお願いします。
はじめまして。 調べてもどうしてもわからないことがあるので教えてください。 EXCELのVBAでセル内書の文字列からある特定の文字数をカウントする 命令をご存知でしょうか? 例えばセル内に「AABCAABC」という文字列が入力されていたとして、 この文字列中からBの出現回数=2という具合に出現回数を求めたいんです。 ご存知のかたよろしくお願いします。
47 :
デフォルトの名無しさん :04/07/24 12:57
はじめまして。 VBAで作成したユーザー定義関数をEXCELワークシートのセルから呼出す際に、 通常のワークシート関数のように引数のバルーンヘルプのようなものを出すにはどうしたらよいのでしょうか? どなたかわかる人がいたら教えてください。
51 :
通りすがり :04/11/23 11:05:26
54 :
デフォルトの名無しさん :04/12/04 09:56:18
まったく機能してないな、このスレはw
そう思うならageんなYO!
Javaプログラマが手っ取り早くExcel VBAを習得できる解説書はありませんか。
58 :
デフォルトの名無しさん :05/01/04 23:03:28
>>56 エクスメディアのsuper master
59 :
デフォルトの名無しさん :05/01/10 23:45:23
VBAを憶えられたら、VBに入るのも楽にできるのでしょうか?教えてください
まあ、VBA全く知らないよりはすんなり入れるけど VBAが使えたからと言っていきなりまともにVBを使いこなせるわけじゃない。
61 :
デフォルトの名無しさん :05/01/11 22:25:22
>>60 ありがとうございます。参考にいたしますです
62 :
デフォルトの名無しさん :05/01/11 23:09:21
エクセルで簡単な足し算や掛け算、引き算が20問くらい出題されて最後に採点される計算問題集作りたいんですけど、どんなプログラムかけばいいのかおしえてください。お願いします。
63 :
デフォルトの名無しさん :05/01/12 20:32:09
質問です。 ExcelVBAにて、 列数に応じて列幅を変えたいのですが、 列幅をPixcel指定することは出来ないのでしょうか?
64 :
デフォルトの名無しさん :05/01/12 23:52:13
>>60 >VBAが使えたからと言っていきなりまともにVBを使いこなせるわけじゃない。
ま と も に & 使 い こ な せ る ?
特に垣根はなかったです。
VBAの質問ではないのですが教えてください。 PDFファイルからコピーして、Excelにペーストしようとしています。 改行があっても、セル内改行としてペーストしたいのですが、クリップボードの内容に 改行があると縦方向に複数のセルにペーストされてしまいます。 これを回避するにはどうしたらいいのでしょうか?
エクセルで B C 1 70 1.142857143 360 14 80÷B1=C C1=80/B1から〜C360=80/B360 これをまとめて一括してできるような方法ないでしょうか?
Sub >>67たん For i=1 to 360 Cells(i,3)=80/Cells(i,2) Next i End Sub '変数宣言の細かいの無くてもそこそこ動いちゃうし
正直、option explicitはつけとけ。
>>69 それがついてないソースは見る気が失せる w
68様アドバイスありがとうございまうす、お礼が遅くなりました ごめんなさい。
おおむらさんのVBA本の方が林ハルピコさんのVB本よりVBについてわかった。 ぱっと見じゃわからんけど彼の本は他より全然良いねぇ。 もっと早く読んでれば。orz
大村さんの本ってamazonの書評でやたら評判が良くってね。 関係者がサクラでマンセーしてるのかと思ってたけど、 試しにVBA基礎編読んでみたら、確かにわかりやすいわ。 つっかえるところもなくスイスイ読み終えてしまった。
74 :
デフォルトの名無しさん :05/02/17 03:36:30
あのさー、SUMを使って合計を求めるときって、セルをC2とか、 表の位置を指定するわけだけど、デザインしなおすときとかさ、 あるいは、行を追加するときとか、位置が変わったりするときあるじゃん。 だから、セルには変数名つけれるようにしたほうがいいと思うんだけど、 そういうセルに名前つけるとか、そういう機能って、Open Office にあるかい?
OpenOfficeってどうなの? Part4.0.0
http://pc5.2ch.net/test/read.cgi/bsoft/1104929958/609 609:名無しさん@そうだ選挙にいこう []:05/02/17 04:17:43
あのさー、SUMを使って合計を求めるときって、セルをC2とか、
表の位置を指定するわけだけど、デザインしなおすときとかさ、
あるいは、行を追加するときとか、位置が変わったりするときあるじゃん。
だから、セルには変数名つけれるようにしたほうがいいと思うんだけど、
そういうセルに名前つけるとか、そういう機能って、Open Office にあるかい?
>>75 できる。
挿入→名前→指定
はじめてOOoのBasicを触ってみたが・・・これじゃあVBAにゃ勝てん。
MicrosoftはLinuxとかAppleに食われてたとえどんなにしょぼくなっても
Excelだけは作り続けてほしい。1-2-3の怨念もあるし。
LinuxならまだしもAppleごときに食われることはまず無いだろう。
78 :
デフォルトの名無しさん :05/02/19 00:40:33
くぐっても出てこないので質問します。 VBAでPostgreSQLに接続する方法はあるのでしょうか? お教え願います。
>>78 ADOとかODBCを経由すりゃいけるでしょ。
環境設定次第のような気がするけどダメなのかな?
80 :
デフォルトの名無しさん :05/02/21 21:36:03
VBAを初めて勉強する人へのお勧めの書籍とかありますか?
とりあえず、PostgreSQLと一緒に "ODBC" "DAO" "ADO" とかでぐぐってみれ。
82 :
デフォルトの名無しさん :05/02/22 00:52:31
>>80 最適な本は、本人のプログラミング歴によると思う。
とりあえずExcelVBAをやるならExcelに詳しくないと効率が悪い。
83 :
デフォルトの名無しさん :05/03/02 15:44:33
あるワークシートを雛形として 複数シートずらりと並べて作業することを想定しています この場合あるワークシートをコピーしてしまえばそれだけで使えることは使えるのですが コードまでシートの枚数分コピーされてしまうのでやたらファイルがやたらでかくなってしまいます。 こういう場合のナイスな解決策って何か無いのでしょうか? さわりだけでも教えていただけたらありがたいです。 よろしくお願いします。
>>83 ぺーすとすぺしゃる でも使えば?
さわりだけでいいならあとは自分で頑張ってね
85 :
デフォルトの名無しさん :05/03/03 03:20:10
>>83 コードをシートではなくて標準モジュールを作ってそこに置く。
>>85 例えばですよ
操作 -> 間接参照 ->コピーされたワークシート
->コピーされたワークシート
->コピーされたワークシート
->コピーされたワークシート
みたいな感じである参照から間接的にワークシートを操作したいのですが
参照にはworksheetのメソッドも使えるし、自分で定義した変数とかメソッドも使いたいのですが
参照は自分で定義したクラスで
そんな感じのことはできますかね?
出来ます。 具体的な方法の説明はスレ違いになるので ご自分で検索でもしましょう。
>>87 あるんですね
キーワードだけでも教えてもらえないでしょうか?
スレ違い
キーワードって?
┏┓ ┏━┓ ┏┓ ┏━━━━┓ ┏┓ ┗┛ ┏┓ ┗┓┃┏┓┏┓ ┏┛┗━━┓┏━┓ ┃┏━━┓┃ ┏┛┗━┓┏┓┏┛┗━┓┃┃┃┃┃┃ ┗┓┏━━┛┗┓┃┏┓┏━━━┓┗┛ ┃┃ ┗┓┏━┛┗┛┗┓┏┓┃┗┛┃┃┗┛ ┃┃ ┏┓┗┛┃┃┗━━━┛ ┏━┛┃ ┏┛┃┏━┓ ┏┛┃┃┃ ┃┗━━┓ ┃┃┏━┛┗┓ ┃┃ ┃┏━┛ ┃┏┛┗━┛ ┗━┛┃┃ ┗━━┓┃ ┃┃┃┏┓┏┛ ┃┃┏┓ ┗┛ ┃┃┏━━┓ ┏┛┃ ┏━━┛┃ ┃┃┃┗┛┃ ┃┃┃┗━━┓ ┏┓ ┗┛┗━━┛ ┗━┛ ┗━━━┛ ┗┛┗━━┛ ┗┛┗━━━┛ ┗┛
92 :
デフォルトの名無しさん :05/03/03 22:02:47
間接参照って何ですか?
relative reference
94 :
デフォルトの名無しさん :05/03/04 07:55:17
83氏は、Excelでクラスを使ってるんだね。 Excelでクラスを使うメリットっていまいち分からないのですが、 どんな時に使っているのですか?
>>94 クラスを使えば
>>86 のことができるんですね。
なるほど。
>>86 のようなことをするときに便利かなぁ、とか思っているんですが。。。
ちょっと検討してみます。
96 :
デフォルトの名無しさん :05/03/04 23:11:29
Excelでクラスを使うには具体的にはどうするんでしょう?
94 名前:デフォルトの名無しさん 投稿日:05/03/04 07:55:17
83氏は、Excelでクラスを使ってるんだね。
Excelでクラスを使うメリットっていまいち分からないのですが、
どんな時に使っているのですか?
95 名前:83 投稿日:05/03/04 15:03:41
>>94 クラスを使えば
>>86 のことができるんですね。
なるほど。
>>94 帳票のデータを適当にグループ化できて
グループ間でいろいろと制約やルールがある場合はちょっと便利。
OOモデリングもどきのテクが使える。
(モレの場合、構造体に毛が生えた程度だが)
Excelでクラスを使うには具体的にはどうするんでしょう?
いい加減にしろ
VBAでのクラスは継承や抽象クラスが無いだけならまだしも インターフェースを宣言するメリットが全く無いのでやめた
102 :
デフォルトの名無しさん :05/03/08 00:13:46
セルに印刷ページを表示したいのですがどうすればできますか?
104 :
デフォルトの名無しさん :05/03/13 20:23:36
ユーザー定義型配列をプロシージャの引数にするにはどうすればいいのでしょうか? ユーザー定義型配列myData(10)を下のソースのように渡したところ、 「パブリック オブジェクト モジュールで定義されたパブリック ユーザー定義型に限り、 クラス モジュール内のパブリック プロシージャの引数または戻り値、またはパブリック ユーザー定義型の要素として使用することができます。」 なるエラーがでてうまくいきません。 ユーザー定義型配列の1要素を渡す分には問題ないのですが・・・。 どうぞ、よろしくお願いいたします。
以下ソースです --------------------- Type Data a As Integer b As Integer End Type Sub test() myData(10) As Data myData(0).a = 3 myData(0).b = 5 myData(1).a = 6 myData(1).b = 9 . . . Call shukei(myData) End Sub Sub Shukei(myData As Variant) Dim sum(10) As Integer For i = 0 To 10 Step 1 sum(i) = myData(i).a + myData(i).b Next (略) End Sub
/ ̄ ̄ ̄ ̄\ 【関西を代表するキモヲタ:風俗嬢ストーカー奈良ちんばの中尾】 ( 人____) |ミ/ ー◎-◎-) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ (6 (_ _) ) / 奈良に住んでる、ちんばの中尾でーす。(4月生まれ35〜40歳) | | ∴ ノ 3 ノ < 風俗嬢にストーカーして個人情報調べて本番強要する鬼畜でーす。 | ノ\_____ノ、 | サバゲーは京都THE ROCK、大阪BBGUN愛用でPCなんかも趣味。| ( * ヽー--' ヽ ) | 大阪市内の会社勤めで新大阪ムニュDX(プラチナ会員)、 | (∵ ;) ゚ ノヽ ゚ ):) | 日本橋クラブなみだの風俗嬢中心に狙ってまーす。 | (: ・ )--―'⌒ー--`,_) |クラブなみだの巨乳嬢ユカちゃんがオキニでーす。 | (___)ーニ三三ニ-) | TOYOTA RAV-4が愛車でauのエリクソンの携帯使ってまーす。 | (∴ ー' ̄⌒ヽニ3 ) | 片足ビッコ引いてるから、神!ちんばの中尾と呼んでねー。 / `l ・ . /メ / \__________________________/
自己解決しました。 > Sub Shukei(myData As Variant) Sub Shukei(myData() As Data) でいけました。 お騒がせしました。
108 :
デフォルトの名無しさん :05/03/14 22:37:58
ブックを立ち上げると同時に userform1 を表示するには、どうしたらいい?
109 :
デフォルトの名無しさん :05/03/14 22:55:20
マクロ「VBAProject」「ThisWorkbook」右クリック「コードの表示」 Private Sub Workbook_Open() UserForm1.Show End Sub
>>109 できますた。
ありがとんヾ(´▽`*)ゝ
111 :
デフォルトの名無しさん :2005/04/04(月) 16:26:52
「ある文字列があったら、その文字列を画像に置き換える」 ってことしたいのですが、どうしたらいいですか? 例 あるセルCに「今日は&hareです」とあったら &hareのところにfine.jpgを挿入し、 画面上の見た目も印刷したときの見た目も、 セルCは「今日は●です」(●はfine.jpg画像)と なっている。 宜しく教えて下さいませ。お願いします。
112 :
111 :2005/04/04(月) 17:17:04
↑ 誰かお願い!
113 :
111 :2005/04/04(月) 18:47:00
↑↑ 最後にもう一回だけageであきらめ
>>111 VBAで処理
詳しくはヘルプ参照
以上
>>114 通りすがりのものでつが、それではここで聞く意味がないような(w
だってここは「勉強法教えてスレ」ですから。 具体的なVBAの使い方を教えるスレじゃない。 はっきり言ってここではすべての質問に対して「ヘルプ読め」でかたが付く。 "通りすがり"でもスレタイくらいは読めるようになろうね(w
1のスレの立て方が悪いんだな。 勉強法なんてテーマで、まともなネタが続く訳ないしな。 どこか質問&回答できるスレに誘導してやってよ、親切な人。
>>118 別人だから(w
自作自演でもないし(w
>119 m9( ´д)ヒソ(´д`)ヒソ(д` )c9m
122 :
デフォルトの名無しさん :2005/05/15(日) 16:52:14
コンボボックスのフォントの大きさ変更したいんでつけど… 出来ますかね?(´∀`;)
出来ますよ
124 :
デフォルトの名無しさん :2005/05/16(月) 10:40:02
>>124 プロパティ
あ、分かってると思うけどフォームのはプロパティ固定だから。
変更できるのはユーザーフォームのコントロールのもの。
126 :
デフォルトの名無しさん :2005/05/19(木) 22:23:35
エクセルで、文字列を16進数に変換したいのですが、どうやればいいですか? VBAは使わないでやりたいのですが・・・・・。 その逆も難しいですよね・・・
> VBAは使わないでやりたいのですが・・・・・。 スレ違い。 「VBAの勉強法教えてスレ」だからVBAでのやり方教えてってのもスレ違いだけど。 > その逆も難しいですよね・・・ 10進→16進も16進→10進も VBAでもワークシート関数でも超簡単。
>>127 エンジニアリング関数を使わないでやると難しくないですか?
スレ違い
130 :
デフォルトの名無しさん :2005/05/21(土) 22:35:02
縦横比同じのサムネイル画像の作り方を教えてください。 あとファイル名、画像サイズとかも。
132 :
デフォルトの名無しさん :2005/05/21(土) 22:43:12
サンプル必要になるほどのものじゃない
134 :
デフォルトの名無しさん :2005/05/21(土) 22:49:28
簡単でも教えて欲しいんですけど。
>>134 んじゃ教えてあげる
「ヘルプ読め」
あ、ここは"勉強法"を教えるスレで
内容を教えるスレじゃないので
136 :
デフォルトの名無しさん :2005/05/21(土) 22:53:25
>>133 月曜まで一覧表作りたいんですけど、
別の仕事をしていて時間がとれないのでお願いします。
138 :
デフォルトの名無しさん :2005/05/21(土) 23:11:45
>>137 ありがとう。
135とかレス読むと、会社で仕事早いけどCでBASIC風プログラミングする人が
でかい顔してるんでその人のこと思い出したよ。
139 :
デフォルトの名無しさん :2005/05/21(土) 23:13:21
140 :
デフォルトの名無しさん :2005/05/21(土) 23:13:53
なにか教えて貰ったとたん、態度変えたり悪態付いたり捨て台詞置いてく負け犬って哀れだね
141 :
デフォルトの名無しさん :2005/05/22(日) 12:23:05
まじめな答えです。 私は、VBAヘルプを全部コピーして読んで勉強しました。 でも、一番肝心な所はVBヘルプに書いてあって、その中で 一番肝心なところは書いてないというのが結果でした。 If A=B Then Goto Label 1 End If CCC Label 1: DDD こう書いてあって、 A=B のとき DDD だけど ちがうとき CCC なのかCCC DDD なのかどこにも 書いてない。ようするに、最後の仕上げはヘルプじゃ できないってことです。 残ねん!!
>>141 は小学生かな。
いや、今時の消防はもっとデキるか。
145 :
デフォルトの名無しさん :2005/06/04(土) 12:17:11
そうですな。
>>1 俺は2chとWeb検索と書籍とを併用してる。
昔は、日経ソフトとかの本を買ってたけど、今はCD-ROM版を利用してる。
2chから得た情報は、工夫してTXTファイル化したり、DB化したり、GREPソフト
で検索しやすくしたりする事で、結構勉強するのにも役立つようになるし、
辞書用にも役立つようになる…けど、メンテナンスがめんどくさい。
クソレス率30%以上からなるスレを1000行も読んでると、せっかくの休日が無駄に
消費される。
>>146 > 日経ソフトとかの本を買ってたけど、今はCD-ROM版を利用してる
俺も、4枚ほど購入したよ。
しかし、コピー対策なのか、PDFファイルの文字列がコピーできない
のがムカつく。正規購入者にまで使いづらくさせてどうすんだって感じ。
情報が整理しづらいし、だったら、CD-ROM化するメリットが無いし、
出版社の自己満足になってる気が。。。
PDF Explorer
ttp://rtt.planetaclix.pt xdoc2txt+cryptlib.dll
ttp://www31.ocn.ne.jp/~h_ishida/ で、とりあえず我慢して使ってるけど何とかしてほしい。
もう眠いから寝ますわ。
148 :
デフォルトの名無しさん :2005/07/10(日) 14:48:27
VBAとVBどこがちがうの?
>>148 目的としては以下の通り。
・ .docとか.xlsの中身をイジりたい = VBA
・ Windows上で走る実行ファイルが欲しい = VB
ただ、VBAはバカみたいに自由度が高いので、
やろうと思えばアプリもどきもウイルスもどきも書けるよねってこと。
>>149 ついでに言っておけば、VBSというのもある。
・ 実行ファイル作るまでも無いが、ある程度の処理をやらせたい
「定時にCVSのレポジトリを圧縮してFTPってしまうスクリプト」
みたいな用途に使う。
151 :
デフォルトの名無しさん :2005/07/10(日) 15:20:29
VBAは何を購入すればできるようになるのですか? VBAでできることはVBでもできますか? その場合コードもまったく同じなのでしょうか?
152 :
デフォルトの名無しさん :2005/07/10(日) 15:27:52
VBAはどうやって実行するのでしょうか?
VBAはExcelやAccessなんかを操作するためのマクロ言語 VBはアプリの開発言語 基本的にVBの方が出来ることは多いが、Office2003のVBAと VB6.0は約5年の開きがあるので、VBAの方が優れてる部分も多少ある。 > VBAは何を購入すればできるようになるのですか? Excel、Access、Word、PowerPoint > VBAでできることはVBでもできますか? 出来ることもあるし出来ないこともある > その場合コードもまったく同じなのでしょうか? 同じ物もあるし違うものもある > VBAはどうやって実行するのでしょうか? Officeアプリ上から呼び出すか、イベントに引っかけて実行する ユーザーフォームから呼ぶことも可能
154 :
デフォルトの名無しさん :2005/07/19(火) 19:05:18
スレ違いかも知れませんが、知ってる方がいたら、教えてください。 エクセルマクロで特定の文字列を置換し、セル中の置換後文字列のみ を太字や斜体にしたいのですが。セル全体は出来るようですが、一部分の 変更が上手く出来ません。 また、置換後の文字列の長さは不特定なので、桁数指定も出来ません。 すみませんが、よろしくお願いします。
156 :
デフォルトの名無しさん :2005/08/17(水) 18:44:21
すみません、教えて下さい。 Dimステートメントで定義した、2次元配列を、 1次元目をキーにソートしたいのですが、可能でしょうか。 よろしくお願いします。
なんかまた本スレ変なの湧いてるね。 ちゃんと回答してる人にヤジ飛ばしたり・・・
可哀相に 自分に不利になると自演説に逃げるのか
散々、既出っぽいのだが、誰か教えて(または、誘導お願い) 1年位前に作ったVBAのマクロを久々に実行させたら 「プロジェクトまたはライブラリがない」のオンパレード。 例えば、dateは「DateTime.Date」に変えないといけないし、 「i%=1」なんてのも、変数宣言で 「i」を宣言しないといけないみたい。 前作ったときは、エクセルの2002で今は2003を使っている。 これって、バージョンの違い?それともどっか設定で直る?
161 :
ゆみ :2005/09/11(日) 23:05:11
Office2003をつかっています。 パワーポイントとワードのファイルがどのバージョンのオフィスで作成されたか調べたいのですが VBAでそれは可能でしょうか? よろしくお願いします。
Word97/Word98/Word2000/Word2002/Word2003ってデータ形式同じじゃなかったっけ。 バージョンの違いはユーザーインターフェースの改善とかでデータ形式の区別は無かったような。
164 :
デフォルトの名無しさん :2005/09/21(水) 14:52:27
VBAを勉強し始めて2ヶ月経つのですが… 「Excel VBA 実用サンプルコレクション」っていう本を 購入しようか迷ってるんですけど、この本って役に立つのでしょうか? 他にも参考になりそうな本があったら教えてください。
165 :
デフォルトの名無しさん :2005/09/21(水) 16:47:31
>>165 >>161 が立ててくれるんじゃないの?
あっちのスレでは随分迷惑掛けていたようだし、こっちのスレではお礼も言わないし。
TEST
>>164 vbaなんてやめてvbでやれ。
vbaは本家のvbよりも難しい。
vbのほうが何倍も簡単。
>>168 そんなこと言い出すとキリがないだろ。
HSPでやれとか言い出したらどうすんだw
これから、VBに手を付けるなら、VB.NETってことになるが、 それならC#やれって話。
>>170 vba→c#を勉強中だけど、
C#は難しいね。ゆーこと聞かなくてパソコン蹴りたくなるよ。
ということはC++ならパソコンやめたくなるんだろうな。
173 :
デフォルトの名無しさん :2005/09/29(木) 13:39:55
セルAに日付が「05/09/29」のように格納されているxlsデータがありますが、 これを自分で使いやすいように「20050929」のように変えたいと思っています。 いま、「05/09/29」を色反転させてBackSpaceキーで消してから「20050929」を入力して Enterキーを押しても、「05/09/29」のままで「20050929」にはなりません。 どうしたらセルAを「05/09/29」から「20050929」に変更できるでしょうか?
174 :
173 :2005/09/29(木) 13:45:00
ごめんなさい。ここは勉強法スレでした。誤爆です。別で質問します。 失礼しました。
175 :
デフォルトの名無しさん :2005/10/02(日) 23:41:11
ご存知のかた、教えてください。 Mid関数の内容をIf分で判定しようとすると、型の不一致になってしまいます。 ちなみに参照するデータはStringです。こんな感じです。 If AA = "A" Or "C" Or "H" Then 判定条件の”を外すとてこんな感じに If AA = A Or C Or H Then するとエラーにはならないのですが、うまく判定できません。 よろしくおねがいします。
>>175 手抜きしないで
AA = "A" or AA = "C"にしる
完全にorの使い方間違ってるな 因みに1文字ならLike演算子が使える String型なら正規表現も使える(RedExp) Select Caseなら複数の条件をカンマ区切りで指定できる
コボラー?
179 :
デフォルトの名無しさん :2005/10/06(木) 20:10:33
何が?
180 :
デフォルトの名無しさん :2005/10/09(日) 04:38:02
おしえてください おねがいします 選択したセルの最終行の1つ下のセル が空欄のとき その行を削除して上につめるには どう打てばいいのですか?
>>180 日本語で書け。
それとここは「勉強法」の質問スレで
「VBA」の質問スレじゃないぞ。
まあ、単発質問の駄スレだけどな。
日本語勉強してからちゃんとしたスレで聞け。
ここでも空気読めないバカが回答付けるかも知れんけど。
182 :
デフォルトの名無しさん :2005/10/09(日) 04:50:12
>>181 VBAで書け。
日本語で書かれても困るんだよ。
183 :
デフォルトの名無しさん :2005/10/09(日) 05:12:26
>>180 質問文が機械語ぽくてよくわからない。
チミがやろうとしていることは、
End(xlUp).Rowとifの組み合わせで解決できるんじゃないのか
185 :
デフォルトの名無しさん :2005/10/10(月) 21:44:13
Excel2000 sheet上の、TextBoxに日付を入力 で、そのTextBoxの値が、DATE型でない場合は、Exit Sub で中断したいのですが 判定方法がわかりません、お願いします。
isdate
187 :
デフォルトの名無しさん :2005/10/10(月) 21:47:45
早速ヒントありがとう( o^_^o)
188 :
デフォルトの名無しさん :2005/10/10(月) 21:52:29
>>186 さん
If IsDate(TextBox1.Text) Then
で、できました。 ありがと。
>>187 の顔文字を見て教えたことを後悔した24の夜
190 :
187 :2005/10/10(月) 22:04:00
_| ̄|○
191 :
デフォルトの名無しさん :2005/10/10(月) 23:15:07
ここで質問しちゃいけないようですけど どのスレで質問すればいいのですか?
俺も見てるよ 答える気はないけどw
漏れ俺も
195 :
デフォルトの名無しさん :2005/10/11(火) 22:14:54
つーかVBAの質問板の方なくなってるやん。
197 :
195 :2005/10/11(火) 22:34:40
だからここへ来ました
VBAスレなんて要らないだろ VBの分野はVB6スレで聞いて 各OfficeApplicationの分野はBソフ板のスレで聞けばいい 前のVBAスレの内容なんて、Excelスレへの誘導と罵倒と荒らしで構成されてたからな 簡単な質問が来ると嬉々として得意げに答える奴も居たけど > 四だけどわかんね、質問はしねーよ > いい勉強になる・・・ まあ、がんばれ
ここがいい
201 :
デフォルトの名無しさん :2005/10/11(火) 23:09:34
勉強法教えろって意味不明なスレタイにした
>>1 が悪い
ケツの穴がちっちゃすぎて、俺のマグナムは入らんだろうが
飢えている人に魚をあげるよりも魚の捕り方を教えてあげた方がその人のためになるって精神なんだろうか
例えに合わせれば飢えているって言ってもここの質問者は命が危ないわけではなく さらには食い物を買う金を持っている状態だからね。 VBAコードの作成なんて、金で請け負ってくれるところがあるわけで、 本当に困ってればそういうところに行けばいい。ここに来る奴はそこまでは困ってないわけで。 本当に餓えてる奴には魚そのものを与え、魚の取り方を教えてもいいが、 魚を買う金を持ってるのに、自分の金を使うのが嫌だからと乞って来る奴に与えるものは無いだろ。 魚そのものを乞うのではなく、魚の取り方を教えてくれというならそれを教えるのはいいけど。
205 :
199 :2005/10/12(水) 20:38:20
>>203 「飢えている人に」じゃなくて、「飢えてはいないけど魚を欲しがってる人に」だな
ここは取り方を教えておくのが正解だろう
いやいやいや、ケツの穴が余計閉まりおったわw
発展途上国への援助方法について語るスレはここですね?
>>208 ここは質問スレじゃないのでその質問にも答えられません。
発展途上国への援助方法について語るスレはここですね(断定)
バカが一人"(断定)"とか書いたところで、スレの趣旨は変わりなし
212 :
デフォルトの名無しさん :2005/10/13(木) 00:18:32
なんとなく"(推定)"だけど、
>>210 の"(断定)"に一票w
いや、本人がそれを言ってもねぇ
214 :
212 :2005/10/13(木) 01:20:48
>>213 ナニひねくれてんだよw
くると思ったとおりにくるもんな〜〜〜w
わかりやす杉
>>210 さんに失礼だよ
コレにもまたくるかもナ>自作じえ〜んケテ〜イとか、w
>>203 ,208,210が俺の自演なんだけどなぁ
VBAで何をしたいか知らないが、所詮あんなものはマクロだろ。 普段の単純作業を楽したいための機能じゃん。 私が進める勉強法は、 エーアイ出版の「Excel97VBAのワザ プログラミング百選ぐらい」潟ニゾン編著 で勉強せよ。これ一冊で他はなにもいらん。
>>217 が当スレのとどめを刺してくれたようですw
しゅうりょーーw
しゅうりょーー ・・・・すると、自演できない
220 :
デフォルトの名無しさん :2005/10/16(日) 22:37:51
VBAで隣接する複数のセルを結合させる方法を教えて下さい。
221 :
デフォルトの名無しさん :2005/10/16(日) 22:48:35
>>220 マクロの記録でも取ればわかるだろ
ここではそれ以上教えることはない
resize offset
224 :
220 :2005/10/17(月) 00:01:02
>>222 マクロの記録で調べた結果↓こうしました。
Range(Cells(1,1), Cells(2,1)).Select
Selection.Merge
ここから俺様の判断と裁量によって、このスレは EXCEl・VBA質問スレ に変更します。 俺のものはおれのもの おまえのものも俺のものだ
226 :
デフォルトの名無しさん :2005/10/17(月) 00:07:56
227 :
デフォルトの名無しさん :2005/10/17(月) 00:08:56
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ ここから俺様の判断と裁量によって、このスレは EXCEl・VBA雑談・罵倒スレ に変更します。 俺のものはおれのもの おまえのものも俺のものだ ▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
If Time > TimeSerial(23, 59, 59) And Time < TimeSerial(12, 00, 00) Then Mydate = Date End If If Time > TimeValue("00:00:00") And Time < TimeValue("11:59:59") Then Mydate = DateAdd("d", -1, Date) End If Serial とValue ???
229 :
デフォルトの名無しさん :2005/10/17(月) 05:41:18
age
230 :
デフォルトの名無しさん :2005/10/17(月) 10:50:05
めんどくさいな、仕事出すついでに出入りの業者にちょろっと作ってもらえ 飯の1回くらいでやってくれるよその位
231 :
デフォルトの名無しさん :2005/10/17(月) 11:34:07
つ 飯 >230
If Time < TimeSerial(23, 59, 59) And Time > TimeSerial(12, 0, 0) Then Mydate = Date Else Mydate = DateAdd("d", -1, Date) End If 解決?
今更さ、2000とか2002のOfficeサポートしたアドインって Office XPとか2003で作れるの?
作れる つーかOffice XP = 2002だよ
>>234 様
ちょっとkwsk教えていただけないでしょうか?
手持ちOffice XP Devしかないのですよ
あとあるのは.NET2003なのですよ。でなるべくだと
Comアドインで配布したいのですがどうなのでしょうか
何分今まで、C++でUnix系の基幹システムの開発に
専門で何が必要なのかまったく解ってません。
スレ違い
COMアドインならVSなり.NETでも作れるのではないかな
ちょっと教えてください。 Excelマクロをつかって任意の複数シートを、1枚のmht形式で 別名保存したいのですが方法はありますでしょうか? ブック全体とシート1枚なら出来るんです。 でも、任意の複数シートが出来ないのです・・・。 何か知っている方ご教示ください。
新規ブックに保存したい任意の複数シートをコピー
おぉ そうですね^^
>>239 さん レスありがとうございます。
グラフシートだけ抽出したかったので、
無意識に除外してました。
うまく行きそうです。
ありがとうございました。
データファイルに使用するには どのファイルが適当ですかね?
データ形式によって適当なものを使い分けるのがいいと思います
誤爆か?
誤爆ではないです。 勉強法を教えてスレなので、2chスレから拾って来ました。 VBA学習にも転用できそうなので。
と、一人(ID出ないので自演は出来るけど)が言い出しても何も変わりません。
これでスレの趣旨が変わるなら、
>>227 で雑談・罵倒スレに変わったことになりますね。
はじめまして。 今度ExcelVBAでウサマ・ビソ・ラディソを追跡するシステムを担当することになったのですが、 何から手をつけてよいかわかりません。 どなたかお知恵を貸してはいただけないでしょうか。
ゲームか?
精一杯のボケだろう
ワロタ
過疎スレでピントのずれたボケをいつまでも晒される
>>249 いと哀れ
よろしく .VBSは、.BATの代わりにならないでしょうか? 起動パラメーターの受け取り方が分りません。
>>254 > よろしく
何か?
> .VBSは、.BATの代わりにならないでしょうか?
大抵は代わりになる
vbsの法が簡単な場合も、vbsの法が面倒な場合もあるけど
> 起動パラメーターの受け取り方が分りません。
分りませんかそうですか・・・・・・・・・・で、何?
起動パラメーターを受け取る方法を教えてくれ」とか言うわけでも無いでしょ
ここは技術質問スレじゃないし、vbsもbatもExcel VBA関係ないし
VBSの勉強したいならWindows Script Hostを調べろ
精一杯のボケだろう
257 :
254 :2005/11/03(木) 22:21:18
>>255 べろ?
サンクス ベロさん。WSHですね。
Set objArgs = WScript.Arguments
' WScript.Echo objArgs.Count
For I = 0 to objArgs.Count - 1
line_string = line_string & """" & objArgs(I) & """" & vbcr
Next
WScript.Echo line_string
>>1 のスレタイに反応する意味有りか?
258 :
なんちゃって :2005/11/04(金) 01:26:31
すみません、Excle VBAについて勉強を しているのですが Form1 の中のpublic宣言した変数 AA の値を Form2 の内部から値を参照したいのですが うまく行きません。 (Form2をShowする前に、Form1をHIDEしております。) Form1.aa では使い方が誤っているのでしょうか?
標準モジュール使えと
260 :
なんちゃって :2005/11/04(金) 01:36:56
>>259 すみません。どの様に使えば宜しいのでしょうか?
261 :
なんちゃって :2005/11/04(金) 01:50:44
>>259 自己解決しました。ありがとうございます。
深夜に申し訳ございませんが,
新たに疑問が出て来たのですが
Form1 を隠すというアクションと同時に、Form2のラベルに
文字を挿入するにはどの様にすれば良いでしょうか?
Form1中で
UserFrom2.show
UserForm2.caption = "ほげ"
Form1.Hide
とコードを記述しているのですがうまくゆきません。
解らないことがあったら「とりあえず聞く」って気構えで居るから 十数分で自己解決するようなことを聞き返したりするんだ 解らないことがとことん「とりあえず調べる」癖をつけろ
263 :
なんちゃって :2005/11/04(金) 02:05:41
精一杯のボケだろう
265 :
デフォルトの名無しさん :2005/11/04(金) 07:28:50
釣れた釣れた
10数分で事故解決することなら、ここに集うエキスパートは 1分で即レスせねばな^^
頑張ってF5連打しな
268 :
すみません :2005/11/05(土) 01:28:28
UserFormを使用しておりまして 入力フォーム中の各項目に対して、下記の3パターンしか 最初から入力出来ない(入力される文字列の制限)様にするには どうすれば宜しいでしょうか? 1■ abcde 2■ あいうえお 3■ 12345
>>268 コンボボックス使えばいいじゃん
使い方はググってね
270 :
すみません :2005/11/05(土) 08:49:05
>>269 レスありがとうございます。
私の説明が下手なもので誤解を招き申し訳ありません。
正確に言いますと入力項目が下記の様な場合に、 名前 にはデフォルトで全角文字
が入力される様になっており、一方、電話番号には半角英数小文字
のみしか入力出来無い様に制御を掛けたいのですがどうすれば良い
でしょうか?
名前
■■■■■■■■■
電話番号
■■■■■■■■■
>>270 更新後処理で一字ずつチェックしてけば?
>>270 文字種や文字数の制御なら、
いろんなアルゴリズムが公開されてる
「アルゴリズム=手法・考え方」なので、言語関係なく使えるし
VB6以前のサンプルコードがあればほとんどそのまま使える
但しユーザーフォームにはVBの一部のイベントが無いので
手法に因っては多少工夫が必要になる場合もあるけどな
273 :
すみません :2005/11/05(土) 21:22:13
>>271 >更新後処理で一字ずつチェックしてけば?
というのは、ユーザが各項目(名前:■■■)
に対し入力をする際には、全角でも半角でも入力できるけれども
フォーカスが離れた段階でMessageBox等で再入力を促す・もしくは
自動で(フォーカス・アウトしたタイミングで)空白に置き換えるという事でしょうか?
>>272 >文字種や文字数の制御なら、
>いろんなアルゴリズムが公開されてる
やはり、コードを記述した上で制御を掛けるしか方法は
無いという事なのでしょうか?
VBE備え付けの機能として入力値制限を行う事は出来ないでしょうか?
VisualStudioでは、入力値制限等を簡単に行う事が出来たと
記憶しておりまして、VBEでも簡単に操作できると思っていたのですが
、、、
> VBE備え付けの機能として入力値制限を行う事は出来ないでしょうか? VBEの機能なんて、実行時には何にも関係ないじゃん それを言うなら「コントロールの機能」だな > VisualStudioでは、 VisualStudioの何だよ? > 入力値制限等を簡単に行う事が出来たと > 記憶しておりまして おそらく勘違いだな。 または標準のテキストボックスではそういう機能は無いけど その手の機能を持ったテキストボックス(ocx)も存在するのでそっちかも まあ、これはVBAではなくVBの分野なので、ここでは紹介しない
Accessのコントロールにはあったが、Excelにはなかったような希ガス。自信はないが。
276 :
デフォルトの名無しさん :2005/11/05(土) 22:39:54
エクセルVBAでMYSQLと接続する方法を教えてください。 ODBCドライバ使えばできるらしいのですが、 私が持ってるVBAの本にはまるでかかれてません。
スレ違い。MySQLスレ逝け。
278 :
デフォルトの名無しさん :2005/11/05(土) 22:46:13
いや、ODBCはDBの細かい差異を吸収してくれるはずだから、 別にMYSQLでなくてもいいはずなので、DB全般の質問です。
MYSQLのODBCドライバはMYSQL側で提供するもんだからMYSQLスレじゃねーの?
> DB全般の質問です。 DB板かVB6スレへどうぞ
まるで、ヤブ医者の病院たらい回しの刑だな^^
ああ、実際知らんし該当スレの方が良いだろ。
283 :
デフォルトの名無しさん :2005/11/05(土) 23:04:40
VB6スレでいいならここでもいいとおもうけど、DB板だと VBA知ってる人すくなっぽいので、ここでお願いします。
VB言語でのExcelの操作はここでもいいけど、 例えVBAからだろうとVB言語のデータベース操作はVB6の範疇だろ
いやいや、それ以前にドライバいれんと
286 :
すみません。 :2005/11/05(土) 23:40:11
>>274 >それを言うなら「コントロールの機能」だな
ご名答です。そうコントロールの機能です。
>> VisualStudioでは、
>VisualStudioの何だよ?
Visual Studio2003を当方使用しております。
>>275 >Accessのコントロールにはあったが、Excelにはなかったような希ガス。自信はないが。
という事は、やはりExcelのVBE上でコントロールの機能をもってしても
入力値制限をする事は不可能という事なのでしょうか?
> Visual Studio2003を当方使用しております。 Visual Studio2003のコントロールはNET Frameworks VBA(VB6)はActiveX 見た目は似てても全く別物
288 :
すみません。 :2005/11/06(日) 00:27:42
>>287 >Visual Studio2003のコントロールはNET Frameworks
>VBA(VB6)はActiveX
了解しました。
とりあえず、ExcellFormにて入力値の制限等を行う事は
不可能との事ですので、一旦ユーザに入力をしてもらった後に
内部ロジックにて判定して行きたいと思います。
Changeイベントでちまちまやってらっしゃい
290 :
neta :2005/11/06(日) 22:21:20
VBA で Oracle を制御できますか?
できます。
292 :
neta :2005/11/07(月) 15:08:20
>292 自分は291ではないけど、.udlファイル作ると、 しっかり、 MS OLEDB Provider FOR Oracleと出てくるけど使えないの?
うん、嘘はダメだな でも、なんでそれを嘘など書いてない291に向けるんだ?
295 :
neta :2005/11/08(火) 01:56:07
>>293 知らん。俺は初心者だから知らん。
>>294 俺には、嘘にしか聞えんかった。以上。
VB.net & C# & Java の勉強をしていたけど
趣味でAccess VBAの勉強をしています。
(現在プログラマをしている訳だけど、趣味がプログラミング
な俺はどうかとつくづくと思うふ。。。)
>>295 分かってないなら適当なレスするなよwwwwwwwwwwwwwww
297 :
通 :2005/11/08(火) 21:18:59
通りすがり
すみません、WSHあがりの初心者です。 Excel 2k VBAって、Option Explicitの行 と Dimの行の間に、 何か、別の行が入っていたりすると、 Dimの行が無効になってしまうのでしょうか? 実は、コメント行(’)を入れたのですが、 コメント行よりも下の行に在る Dim宣言は、ことごとく無視されてしまいます。 WSHでは、どこでDimを宣言しても問題なかったのですが。
Option Explicitとモジュールレベル変数の間にコメントは入れてもいいけどプロシージャを入れてはダメ WSHではプロシージャの中か外かの区別しか無く、外で宣言すればスクリプトレベル変数(スクリプト全体で使える変数)になるが VBAでは宣言セクション(最初のプロシージャよりも上)で宣言しないとモジュールレベル変数(モジュール全体で使える変数)にならない コメントしか入れてないなら問題は無いはずなので、おそらく他に問題があるんだろうな コードを貼ってくれないと何が問題なのかはわからないけど
301 :
299 :2005/11/10(木) 00:05:48
>>300 早速の回答、ありがとうございました。
本日、会社で即興的に作ったEXCEL VBAで、実行したら、「変数宣言されてない」ってエラーが連発したので。
それで、Dim文を、先頭に持って来たら、エラーが無くなったというものでした。
うろ覚えですが、ログインしたユーザ名を取得して、ユーザに応じた処理を
行うプログラムを書きました。
Option Explicit
'こんな感じ
'でも別に問題ない
Dim WshNetwk
Private Sub CommandButton1_Click()
'こんな感じ
'なんだったんだろう
Set WshNetwk = CreateObject("Wscript.Network")
MsgBox WshNetwk.UserName
End Sub
上のは、ちゃんと動きますね。
問題が再現されない‥
また、後日報告します。
VBA初心者です。 あるセルにデータを書き込むとき、その番地を変数で指定したいのですが、 列を数値で指定する方法が分かりません。 よろしくご教授ください。m(_ _)m
学校の実習で少しVBAをかじった程度の初心者です。 セルの行高と列幅を複数のシートで同時に変更したいのですがうまくいきません。 これと同じような手順で複数のシートで同時にフォントを変更したときに、 コンマがうまくついてくれません(1000→1,000 という風に変更したいのですが・・・)。 これらの処理は複数シートの同時操作では処理しきれないのですか? 対処方法がわかる方がいれば教えてください。
>>306 すいません。
一応、自力で調べてわからなかったんで質問したのですがスレ違いでした。
これもスレ違いな質問なんですが、ここでの質問を取り下げるってどうすればいいんでしょうか?
すみません。会社のOffice2K3 で、Excelマクロを、仕事のかたわらで、書いている者です。 各担当者の仕事の期限を管理してくれと言われたので、即興でマクロを書きました。 良い出来だなと思ったのもつかの間。とある1台のPCでは、「コンパイルエラー」が出てしまいました。 デバッグボタンを押して、確認したのですが、標準関数のUcase( )で、エラーが出ています。 この問題PCも、普通に Office2K3導入済みです。 セキュリティレベルは、「低」なので、マクロは常に有効になっている筈ですし、 参照設定も、Ucase( )ごときに、新たに設定する必要はないですし。 試しに、Msgbox Ucase("abc") を中身に持つサブプロシージャを実行させてみると、 やっぱり、コンパイルエラーが出ました。 もしかして、インストールする時に、「VBAをインストールしない」などの設定が、Office2K3 には、在ったりするのでしょうか? 明日、時間が在れば、WSH上で、Ucase( )を使うと、どうなるか試してみようと思っています。 同じ経験をされたかたは、居ないものでしょうか。 せっかく、仕事の効率を上げようとしたのに、却って自分に負担が向かうはめになってます。(--;) ちょっと、コンパイルエラー*VBA でググって来まっす。
>コンパイルエラー*VBA や、実行時エラー*VBAで大量に出て来ますね。 やっぱ、明日、昼休みにでも、問題の端末の詳細なエラーメッセージを再確認してみます。
>>310 VBE6.DLLが変なものに入れ替わっているとか。
>>312 φ(-_-)メモメモ
ありがとうございます。
それでは、出社して来ます。
エクセルのマクロでActiveWorkbook.SaveAsを実行したとき 現在ファイルがあると上書きしますか?ってでるのですが 自動ではいを選択したいのですが可能なんでしょうか?
可能。 スレ違いだから、やり方は聞かないように。
ここは勉強法を教えるスレだから
>>314 に適切な解答をするならば
「ヘルプ嫁」
データ型で10進数型を宣言する場合、 Dim a As Decimal とすると 「コンパイルエラー: 修正候補: Newまたはデータ型」 とのエラーメッセージが出るのですがどうすればよいのでしょうか?
あああ、スレ違いでしたごめんなさい
Excel VBAで、マイネットワーク上のファイルコピーとかのファイルの操作って出来ない無いんですか? 困ってます・・・・
がんばれ
>>319 バッチファイル作って、それをキックするとかじゃだめなのか?
バッチファイルって何?とか聞かないでね(はぁと
じゃあバッチファイルって何か勉強する方法を教えてください><
>>322 本を読むか、サイトで調べる。
でも、DOSコマンドも知らないのであれば、多少時間がかかるな。
やっぱり、VBAでなんとかしてちょ。
324 :
デフォルトの名無しさん :2005/12/19(月) 11:59:55
Execl 2000でImplementsを使用するとたまにエラーになります。 エラーになる箇所は、インターフェースIをImplementsしたクラスCを I型の変数に代入しようとしたときに型が違うとでます。 また、これに関連しているかどうかわからないですが、 インターフェースをImplementsしているSheetのcellsをアクセスすると メモリ不足というエラーが出ます。 いずれもSheet名(すべて、もしくは該当するSheet)をいったん別名に変えて元に戻すだけでなおります。 (例:Sheet1をVBAのプロパティウインドウでSheet1Xに変えてEnter。そのあとまたSheet1に戻す) ExcelでImplementsを使うのは鬼門なのでしょうか? それとも別の原因があるのでしょうか? なにか関連しそうな情報はありませんか?
325 :
デフォルトの名無しさん :2005/12/19(月) 12:30:10
ここは勉強法を教えるスレだから
>>324 に適切な解答をするならば
頑張れ
327 :
324 :2005/12/20(火) 10:25:27
>>325 ここは、スレ違いということですね。
VBスレにでも移動します。
各セルに外部ブック参照の関数 =INDEX('[Book01.xls]2005'!B10:CG44,,1) =INDEX('[Book01.xls]2005'!B10:CG44,,2) ・・・と書かれており 外部ブックには2005,2006・・・とシートが用意されています .FormulaとRaplaceを使って シート名の2005の部分を書き換えて、シートの切替をしてるんですが 外部ブック参照のセルが沢山あって、一個一個書き換えるたびに外部ブックを読んでいるようで じかんがかかってしまいます。 セルの関数を全部書き換えてから、一気に読込むような処理にすることは可能でしょうか?
>329 分からないんなら答えなくていいよ
良くいるよね。 スレ違いなところで質問したり、ルール守らずに質問したりして、 それを指摘されると、「知らないなら答えるな」「質問に対する回答をしないなら書き込むな」とか書きだす奴。 本気で解らないから誤魔化してるのだと思ってるならバカすぎる。 煽れば答えて貰えると思ってるなら浅はかすぎる。 負け惜しみで嫌味を書いてるつもりなら哀れすぎる。
オートフィルターの絞込み条件で、*(半角アスタリスク)を含む、と 指定したいんですけど、半角アスタはワイルドカード文字ですよね? 何か方法ありませんか?
でけたわ。 半角チルダをつければ良かったんやな。 事故解決。
336 :
デフォルトの名無しさん :2005/12/23(金) 13:29:07
スレ違いで、スンマソン。誰か教えてください。 エクセルのVBAは大体理解できて、次はワードのVBAを勉強しようと思って調べたんだが、資料がおそろしく少ない。 入門書のような本がほとんどないし、ネット上の講座もきわめて不十分。 どなたか、いい勉強方法知りませんか?
340 :
336 :2005/12/23(金) 16:13:08
>>336 ,337
大変参考になりました。ありがとうございました。
って、ありえねー。さすが2ch。
2chというか、このスレがそういうスレだしな
>>340 >337はかなりマジな意見だと思うけど。
オブジェクトブラウザ&ヘルプの連携を使うのが有り得ねーって、どういうこと?
使い方が解らないだけで弱音を吐くな。
まずは使ってから文句を言え。
Excelマスターが来ましたよ
>>343 ではマスターするまでの苦難の道のりを小一時間語って下さい。
"Excelマスター"という名前のExcel初心者に用はありません。 お帰り下さい。
346 :
デフォルトの名無しさん :2005/12/28(水) 00:25:00
仕事で書いて覚えた。 書く。それしかないお。 ちなみに本とかいらん、ヘルプで十分。 あとはMSDNでも見れ。オブジェクトの考え方できればOK。
>>343 あんま羨ましくないな
でも、ちょっぴり面白いぞ
あけおめk
>>348 スレ違い、ここは挨拶のスレじゃない、勉強方法のスレ
・・・て、のもなんだし、ことよろo
350 :
デフォルトの名無しさん :2006/01/09(月) 01:43:53
まだ途中ですが、 a = bangou = InputBox("二次関数の係数を入力してください") b = bangou = InputBox("一次関数の係数を入力してください") c = bangou = InputBox("定数項を入力してください") x1 = bangou = InputBox("定義域の数の小さい方を入力してください") x2 = bangou = InputBox("定義域の数の大きい方を入力してください") y1 = a * (x1 ^ 2) + b * x1 + c y2 = a * (x2 ^ 2) + b * x2 + c If a > 0 Then l = -b / (2 * a) If y1 > y2 And x1 < x2 And x1 < l And x2 < l Then ans y1 & " " & y2 ElseIf y1 > y2 And x1 < x2 And x1 < l And x2 > l Then ans y1 & " " & y2 End If End If これでオーバーフローするのはなじぇ?(・・?
351 :
デフォルトの名無しさん :2006/01/09(月) 01:45:57
↑激しく醜くてすまん
>>350 で、それが勉強法と何の関係があるんだ?
>>349 反応するなよ。いちいち反応するから、すれ違いがのさばるんだよ。
・・・ってもなんだし、俺もことよろ。
ちなみに、君いいせんすもってるね。
さっさと埋めようぜ。一人一日10レスな。
Excelマスターがまた来ましたよ
そうですか。ではお帰り下さい。
埋め。 先が長いな
>>309 いっそのこと、このスレ自体を削除依頼に出してほしい
埋め
埋め立てマクロでも書けば?
埋め
VBA統合スレって無いの?
埋め
埋め
埋め
埋め
埋め
埋め
371 :
デフォルトの名無しさん :2006/01/09(月) 20:15:16
うめぇwww
埋め
埋めwwwwwwwwwwwwwwwwwwwwwwwwww
埋め
うめえええええええええええええええええええええええええええ
うえ
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め 先が長いな
埋め
埋め
埋め
埋め
埋めスクリプト来た?
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
梅
埋め
埋め
5分に一回の書き込みだとすると、あと49時間?
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
このスレは埋め尽くされました。 そろそろ次のネタに行って下さい。
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
あれ、埋めマクロ止まった?
埋め
↓つぎでツッコんで。
埋め
連投エラーでも出てるんだろうか
埋め 次スレ希望 ●EXCEL・VBAの教えて君スレ●
埋め
埋め
埋め
埋め
埋め
646 :
デフォルトの名無しさん :2006/01/11(水) 10:16:09
650 :
デフォルトの名無しさん :2006/01/12(木) 10:16:58
埋め
657 :
デフォルトの名無しさん :2006/01/14(土) 20:11:30
VB死すともVBAは死せず
学校の宿題で、以下のキーワードを使ってデータ予測のための統計と検定について 150字程度で説明しなければならないんですが、いまいちよくわかりません。 誰か教えてください。 キーワード:基本統計量,検定 ポイント: データを予測するまでの流れ 分析手法としての統計量 検定と予測の関係
>>659 ExcelともVBとも関係ない質問に見えるんだけど。
数学板にでも行ったほうがいいんじゃないの?つーか逝け。
>659 ここは 1 の釣りスレです。 釣られると、よってたかっていじめられるスレですので 早々に他スレに行った方がよいです。
668 :
デフォルトの名無しさん :2006/01/26(木) 03:50:25
言語はVBAです。 変数はバリアントですが 金2 = 10000 * 10はオーバーフローになってしまいます。が 金2 = 100000はオーバーフローになりません。何がちがうのでしょうか? どなたか教えてください。
>>668 変数は、関係ない。
イミディエイトウィンドで、print 10000 * 10 って
やってもオーバーフローするはず。
10000 も 10 も、Integer (16bit) だから、当然
10000 * 10 は、オーバーフローする。
しかし、100000 は、Long (32bit) だから、大丈夫。
674 :
デフォルトの名無しさん :2006/02/15(水) 00:24:41
on error goto hell
on error goto home
on error goto health
ム板でこれだけVBAの質問が多いとは驚きだ
679 :
デフォルトの名無しさん :2006/04/23(日) 21:28:39
ハ,,ハ ('(゚∀゚∩_ おいらをどこかのスレに送って! /ヽ 〈/\ お別れの時には今のスレタイを持たせてね! /| ̄ ̄ ̄|.\/ |サバ煮..|/  ̄ ̄ ̄ 現在のスレタイ:コスメの収納方法、 @東京神奈川千葉埼玉の廃墟part2@ 東急リバブル東急不動産に騙されるなPart2 ★★★のまネコ対策執行部9★★★ 東北大学のウェブサイトがファッキングされる ('(゚∀゚∩ なおるよ!のガイドライン11ばんめだよ!
680 :
デフォルトの名無しさん :2006/04/23(日) 23:06:35
Excel 2003 VBA辞典って本で勉強したらそこそこできるようになったよ。
辞典本はある程度分かってる人(感覚でなんとなく分かる人)向け ずぶの素人は順を追って教えてくれるちゃんとした入門書の方がいいと思う
漏れも学長とか長が付く者になりたい(´・ω・`)
683 :
デフォルトの名無しさん :2006/05/30(火) 23:56:40
うんこ
うんこ長か
685 :
デフォルトの名無しさん :2006/05/31(水) 20:37:37
10でおぼえるVBA入門編購入しました。 2003用の応用編が出版されていないけど、前バージョンの応用編で問題ないよね?
スレ違いかも知れませんが、教えて下さい。 エクセルの関数でセルAとセルBの値を比較して違っていたら、 セルに色をつけるという関数を作成できますでしょうか。 条件つき書式では設定同様のことができるようですが、 適用範囲が膨大で入力できません。 また、試しに条件つき書式設定を自動で打ち込むマクロを作成してはみましたが、 途中でInterior.ColorIndex の設定がおかしいといわれて止まります。 (だいたい44000個目のセルで) その後は手入力でに条件つき書式設定しても駄目なようです。 構文を教えていただけると、嬉しいのですが、 ヒントのみでも構いませんのでお願いいたします。 また、長文ですみませんm(_ _)m
条件付書式はセル範囲に対してまとめて指定できます。 例えばB列全体を選択して条件付書式で =NOT(A1, B1) と設定すれば、B2以下の行は自動的に=NOT(A2, B2)のようになります。
↑間違い =NOT(A1=B1) ね
>687 有難うございます。試してみます。 >689 コードですが以下の様にしています。所詮素人なので怪しい部分も多々あると思いますが。 Sub Macro2() ' Dim i As Integer Dim j As Integer Dim k As String Dim m As String Dim a As String Dim R As String Dim C As String For i = 3 To 4098 For j = 2 To 17 m = i k = j + 18 a = "R" + m + "C" + k Cells(3, 18) = a Cells(i, j).Select Selection.FormatConditions.Delete Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlNotEqual, _ Formula1:="=" + Cells(3, 18).Value Selection.FormatConditions(1).Interior.ColorIndex = 3 Next j ActiveWindow.SmallScroll Down:=1 Next i End Sub
単純にA列とB列を比較して色付けだけなら Sub Macro1() Dim i As Long For i = 3 To 4098 atai = Cells(i, 1).Value atai2 = Cells(i, 2).Value If atai = atai2 Then Cells(i, 18).Value = "match" Else Cells(i, 18).Interior.ColorIndex = 3 End If Next i End Sub
>>690 Cells(3, 2).Activate
With Range(Cells(3, 2), Cells(4098, 17)).FormatConditions
.Delete
.Add(xlCellValue, xlNotEqual, "=T3").Interior.ColorIndex = 3
End With
>>691 おいおいw
>691 >692 有難うございます。 早速実践してみます。 偏頭痛が出てきて頭が痛いけど・・・orz
>>691 は無視してくれ by691 ・・・orz
695 :
デフォルトの名無しさん :2006/06/06(火) 20:38:00
みんな、プログラム関係の仕事しているの?
すみません駆け出しのものなのですがexcelVBAで as0125えet後Etたッワ のような前半が半角、後半が前角の ランダムな文字列から前半と後半を分離しようと思うのですが ASC(2バイト系文字)がおかしくなってしまって困っています いったどう対処すればよいかどなたかアドヴァイス頂きたいです。
697 :
686 :2006/06/06(火) 23:59:09
何度もすみません。 せっかく皆さんに教えて頂いたのに、条件付き書式で行うのは出来そうにないことが判りました。 もしかしたら出来るかもしれませんが、とてつも無く重たくなってしまう様です。 (スクロールしただけでも処理が追いついてないので) そこで、ユーザ関数を作くろうと思います。 異なる2つのセルの値を比較して、値が異なっているなら 片方の参照しているセルの値を返し、さらにセルに色をつけるという関数。 作成は可能でしょうか。 もし、作成が可能であれば御教授していただけると幸いです。 構文は以下の様になるかなと思っています。 Function CELLCOLOR(adres1, adres2) CELLCOLOR = adres1 If adres1 <> adres2 Then Range(adres1).Select ←ここら辺からがあっていないと思います。 With Selection.Interior .ColorIndex = 6 .Pattern = xlSolid End With End If End Function 何度も長文での質問、申し訳ありません。m(_ _)m
699 :
697 :2006/06/07(水) 00:22:23
すみません 逝ってきます。 スレ汚しすみませんでした。
700 :
デフォルトの名無しさん :2006/06/10(土) 12:40:15
エクセルマクロで分かる方おしえてください。 フォームを使って シートに書き込むマクロを作っているのですが、 フォームを立ち上げた状態で、 別ファイルのエクセルを操作することは可能でしょうか? 別ファイルの値を、フォーム内のtextboxにコピペをしたいのです。 よろしくお願いしまっす。
> 別ファイルのエクセルを操作することは可能でしょうか? 可能です。 > 別ファイルの値を、フォーム内のtextboxにコピペをしたいのです。 どうぞ、やってください。ここで許可を取る必要などありませんから。 やり方がわからないというなら質問スレへ移動しましょう。
うわっ、イヤミな答弁キタコレw
704 :
デフォルトの名無しさん :2006/06/27(火) 17:22:13
教えていただきたいことがあります。 VBAの方でユーザーフォームのメニュー選択画面を作っているのですが、 工程毎に幾つも項目があり、この工程と項目を関連付けする為に線を引きたいんですが、 どうすれば良いのでしょうか?
705 :
デフォルトの名無しさん :2006/06/27(火) 17:29:02
>>705 VBAスレももう無いんだし、そのスレはVB onlyでVBAのオブジェクトの話は
出来ないし、もうこのスレを質問スレにすりゃいいんじゃね?
再利用するよりも立て直すのがスジだと思うが。 どうせスレタイを理由に誘導する奴は止められないだろ。
>>709 おめでと!
たぶんこのスレッドでちょうど30回目の紹介
711 :
デフォルトの名無しさん :2006/07/14(金) 23:42:06
勉強しないと使えない化け物言語でも人気が出る方法を勉強したい
712 :
デフォルトの名無しさん :2006/08/11(金) 17:59:01
エクセル2003を使用 してますが autofillで番号を ふる事はできたの ですが、色がついて いるセルだけ飛ばして番号をふるプログラムができません! どうかご教授下さい
>>712 AutoFill使わないで、Interior.Colorindex でセルの色情報調べつつ、For〜Nextで、番号を振って行って(以下略)、が基本では?
Excel2K3のAutoFillに、そんな洒落た機能が付いてるとは思えないので。
Excel2K3と書く奴の心理:「うは、俺上級者っぽい」 ↑ 馬鹿
>>714 そんなので上級者なのか?
お前の低レベルさ加減がわかるな。
714は、夏に出て来る蚊みたいなやつだ。
たたきつぶされろ
符丁を使ってみたくなるのが馬鹿っぽいということでしょ。
Excelで複数のセルに対して定数を足すのってどうするの?
>>717 セルに計算式を設定して実現することは、「循環参照」になってしまうので出来ません。
(セルA1には"=A1+5"などとは設定できない)
多分ループしてそれぞれ計算するしかないと思います。
for each c in worksheets("Sheet1").range("A1:C5")
c.value = c.value + 5
next
マクロでコマンドとコマンドの間に一定の時間、たとえば10秒の間を置くにはどうすればいいでしょうか。
>>720 1.Wait メソッド を使う
2.WSHを呼び出して、Sleepメソッドを使う
>>721 720じゃないけど
> 2.WSHを呼び出して、Sleepメソッドを使う
ってどうやるの?
WshShellみたいにWScript.exeの外部の物は参照設定やCreateObjectで呼び出せるのは知ってるけど
WSH自体(WScriptオブジェクト)はどうやって呼ぶの?
まさか外部実行ってことでは無いだろうから、参考までに聞いておきたい。
今までずっとWScriptオブジェクトはWScript.exeでスクリプトファイルを実行する場合のみ
使えるオブジェクトだと思っていたので。IEで実行するhtmlのVBScriptでもWScriptは使えないし、
ArgumentsやScriptFullNameみたいに、実行環境が変わると問題ありそうなプロパティもあるからな。
ちなみに自分の場合、待機は↓でやってる。
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
sleepえぐぜ使えばいいのに( ´・ω・)
ワークシート上に置いたオートシェイプにマクロを登録して、 クリックして実行させようとしてます。 マクロ内ではADODB.ConnectionをOpen、Execute、Closeしてるんですけど、 オートシェイプの位置を変更すると、次にマクロを実行した時に システムエラーです:&H80040E14 とかでます。 何でか教えて下さい
>>721 有り難うございました。Waitメソッドは簡単でした。
『クラスモジュールにCharaを作成します。』って参考書の一文にあるのだが charaってどうやって作るんだよ(>_<) ヘルプにもないし 誰か教えてくれませんか?
>>726 その前後5行くらい(文脈が分かる程度)で引用して
>>727 遅くなってゴメン!!
どこかいていいかわかんなかったからとりあえずアップしてみたよ
ちなみに前ページではこう書いてある↓
『図14-2に示すフォーム上の●ボタンを押すと●が縦に動き、△ボタンを押すと
△が縦に動くプログラムを作ります。sheet1に開始ボタンと「選択した駒」と書きます。
このシート上で駒を移動させます。A1セルに選択した駒が表示されます。』
ttp://up.spawn.jp/file/up39458.jpg
>>728 ごくろうさん。
VBEのメニューで「挿入」->「クラスモジュール」を選択する。
そうするとClass1というのができるから、プロパティウィンドウ(表示されてなければF4)の
オブジェクト名を"Chara"に変更する。それで「クラスChara」を作ったことになる。
あとは、そのコードにPublic X as Integer以下のコードを打ち込んでいく。
732 :
デフォルトの名無しさん :2006/09/21(木) 18:30:57
次のセル参照を定数でなく、変数で行う記述方法を教えて下さい。
(例えば、
>>691 のCells(i,18)のような記述方法)
Rows("2:2")
Range("A1:A3,C1:C3")
offset(0,1)
よろしくお願いします。
>>732 全部ExcelのVBAヘルプに載ってるからそれを見れば良い。
ちなみにここは勉強方法を教えるスレだから、具体的な回答は期待しないでね。
他の人も具体的な答えは書かないでね。
うるせー、ばかー!
VBA質問スレも、Excel質問スレもあるのに わざわざ勉強方法質問スレに来たんだから 勉強方法だけを知りたいんでしょ。
>Rows("2:2")
i = 2
rows(i)
>Range("A1:A3,C1:C3")
dim r1, r2
set r1 = range(cells(1,1), cells(3,1))
set r2 = range(cells(1,3), cells(3,3))
union(r1, r2)
>offset(0,1)
row = 0
col = 1
offset(row, col)
>>733 >他の人も具体的な答えは書かないでね。
命令すんなボケ
空気読めない人登場。 しかし、空気読めてない質問者には感謝されるのであった。
煽りコメントをわざわざ書くくらいなら、質問スレに誘導しろよ
739 :
732 :2006/09/22(金) 09:39:44
>>738 そういう常識的な行動が取れない人がここには多いから。
741 :
助けてください! :2006/10/12(木) 13:44:11
【課題】 Excel2000のブックでの問題なのですが、 本ブックを起動させても、全てのシートが表示されず、シート内容の確認・編集ができません! 要望は、”本ブックのシートを表示させたい”だけなのですが、 私の知識の範囲で非表示を解こうとしても、全然ダメでした。 どうか対処法を教えてください。なお、本ブックの状態は下記の通りです。 1)Excelシートは全て表示されないが、VBツールバーのプロジェクト・エクスプローラーでは、全シートの存在が確認できる 2)VBツールバーのプロパティ・ウィンドウで、各シートのプロパティを確認したが、”xlSheetVisible”の表示で正常であった。 3)ブックの再表示機能で対応可能と思い、ウィンドウ⇒再表示の操作を行ったが、”再表示”がアクティブにならない(つまり非表示ブックが認識されない) 4)対象ブックはマクロを持っていない(当初マクロを持っていたが、マクロ部位を全て削除済み)。 5)その他、”ツール⇒保護⇒シートの保護”、”ツール⇒オプション”など、怪しいと思われるメニューを確認したが、 全てアクティブで表示されない(ブックを認識していない) 以上どなたが、ヒントだけでも構いません、 どうか助けて下さい!!
>>741 初心者の説明じゃ正確な状況把握出来ないからそのブックをうp。
うp出来ないorうpしたくないなら帰って。
743 :
741 :2006/10/12(木) 14:30:45
>>742 非常に残念ながら、顧客のファイルなのでアップはできません。。
「残念ながら」の使い方がおかしいぞ
じゃ、その顧客に聞け。
新規のbookを作ると3つのsheetができるよね。 ひとつのsheetだけ非表示にできれば自ずと答えがでるのではないでしょうか。
> 新規のbookを作ると3つのsheetができるよね。 いいえ。 うちでは新規BookのSheetは1つです。
書式(O)
749 :
デフォルトの名無しさん :2006/10/14(土) 12:18:57
で、どの参考書がいいんだ?
750 :
デフォルトの名無しさん :2006/10/14(土) 13:47:40
VB6の本とExcelVBAの本両方読んだほうがいいんじゃね?
めんどくさいスレだな
なら来なければいいじゃん。
753 :
デフォルトの名無しさん :2006/10/17(火) 23:11:35
今、ヤフー検索して見付けたサイトで勉強してる 本買うのもインターネット見るのもよいのでは?
754 :
デフォルトの名無しさん :2006/10/17(火) 23:44:10
>>741 ウィンドウ→整列 で出てくることがある。
極まれに、シートが画面から外れたとんでもない位置に存在する
ことがあり、一見シートが消えたように見えることがある。
ワークブックオブジェクトにfunctionプロシージャは記述できないのでしょうか? 調べてみたのですが、ド素人なものでさっぱりです・・・ 標準モジュールの方に記述したらうまくいったのですが どなたか教えてください、よろしくお願いします
記述出来るよ。 出来なかったとしたら、Functionのスペルが間違ってるとか 引数の指定方法がおかしいとか、何か間違いがあるんだろう。
757 :
755 :2006/10/22(日) 20:27:50
>>756 ありがとうございます
ですが、私の書き方が悪かったです。
ワークブックオブジェクトに記述したfunctionプロシージャを
そのシートのセルからは呼び出せないのでしょうか?
Function test() というプロシージャがあったとして(処理はなんでもいいのですが)
セルに =test() を入力すると・・・ #NAME? となってしまいうまくいきません。
標準モジュールシートに記述するとうまくいきます。
基本的な考えが間違っているんですね。どなたか教えてください、よろしくお願いします 。
758 :
755 :2006/10/22(日) 20:28:47
>>757 訂正します、すみません。
× ワークブックオブジェクトに記述したfunctionプロシージャを
○ ワークシートオブジェクトに記述したfunctionプロシージャを
>>757-758 それはユーザー定義関数(ユーザー定義ワークシート関数)というものだが、
これは標準モジュールに書くことが必須条件。
シートによって同じ名前の関数で別な処理をしたいなら、
その為の方法も用意されてるからちゃんと調べろ。
標準モジュール作りたくないとか、頓痴気なこと言いたいなら氏んどけ。
760 :
755 :2006/10/22(日) 23:02:01
>>759 なるほど、そういう決まりなら仕方ないですね。
>シートによって同じ名前の関数で別な処理をしたいなら、
>その為の方法も用意されてるからちゃんと調べろ。
これは、なんだか難しそうですね。
同じ関数を呼び出してシート毎で違う処理を行う、という事でしょうか?
まだまだ勉強不足です。
ありがとうございました。
For i = 5 To data_length * 0.65 + 5 If i - 5 > Prices.End - Prices.Begin Then Exit For ElseIf Prices.IsClosed(date_temp) Then Cells(i, 2) = Calendar.Date(date_temp) Else If Prices.Close(date_temp)=0 (この行)と Or Prices.Close(date_temp)=Invalid Then (この行)がエラー Cells(i, 2) = Calendar.Date(date_temp) --------------------------------------------------------------------- すみませんが、上記のプログラム(マクロ)でエラーがでます。(抜粋) 「自動売買ロボット作成マニュアル」というEXCELでシステムトレードする本の通りですが、上手くいきません。 どなたか直し方おしえてください。
ageさせていただだきます。すみません。
>>761 そこのところ
Else If → ElseIf かな
それとも
Else
If
かな、あいまいだ。
>>761 です。
>>763 ありがとうございます。
もともと「ElseIf」だったんですが、コピペする前に試しにスペース入れていたのを忘れて、
「Else If」になっていました。
ところで、エラーの原因は
Else If Prices.Close(date_temp)=0 この行と
Or Prices.Close(date_temp)=Invalid Then この行を
1行にしたら解消したみたいです。
なんでだろ?
(次レスへつづく)
さて、上記のプログラムの上には Dim lastrow As Integer Dim i As Integer Sub Calc() Const Invalid As Double = 1E+100 Dim Calendar As New ActiveMarket.Calendar Dim Prices As New ActiveMarket.Prices Dim code As Integer Dim data_length As Integer, date_temp As Integer code = 1001 Prices.Read code data_length = 3650 data_temp = Prices.End Range("B4:H65000").ClearContents Range("B4") = "日付" Range("C4") = "始値" Range("D4") = "高値" Range("E4") = "安値" Range("F4") = "終値" (次レスへつづく)
下には次のようなプログラムがあります。実行すると「日付位置が範囲外です」とエラーがでます。どういう意味でしょうか? Else Cells(i, 2) = Calendar.Date(date_temp) '日付 Cells(i, 3) = Prices.Open(date_temp) '始値 Cells(i, 4) = Prices.High(date_temp) '高値 Cells(i, 5) = Prices.low(date_temp) '安値 Cells(i, 6) = Prices.Close(date_temp) '終値 End If date_temp = date_temp - 1 Next Range("B5:H65000").Sort Key1:=Range("B5") lastrow = Range("B4").End(xlDown).Row Range("B5", "B" & lastrow).NumberFormatLocal = "yyyy/mm/dd" Range("A1").Select End Sub
本の著者に聞けよ。
768 :
デフォルトの名無しさん :2006/11/02(木) 03:11:10
クラスモジュール?
>764 2行に分けるとき、1行目行末に、行分けの印である”_”アンダーバーを入れ忘れてたからだろ。
エクセル上にボタンを作成し、押下するとファイルを選択するダイアログが開き、 ファイル(csv)を指定して読み込みエクセルに貼り付けていくというのをつくったのですが、 これをフォルダを指定してそのフォルダ内のファイルをすべてループさせて読み込ませたいのですが、 フォルダの指定がよくわかりません。 参考になるHPなどありましたらご紹介下さい。宜しくお願いいたします。
>>770 「フォルダ選択ダイアログ」とかでググってみな。
フォルダパスが取得できたら、あとは普通にループ回せばいいし。
cの猫みたいなまとめサイトが少ないよねvbaって
いっぱいあるよ。
774 :
デフォルトの名無しさん :2006/11/09(木) 18:35:07
すいませんお聞きしたいのですが、 A B 1 1 34 2 1 23 3 2 55 4 3 44 5 3 46 とあった場合、SUMIFでAの列の3に値する合計を知りたいときは、=SUMIF(A1:A5,3,B1:B5) で、合計90と表示されますよね? では、3以外の合計を知りたいときには、どのように数式を入力すればよろしいでしょうか?
=SUMIF(A1:A5,"<>3",B1:B5) つーかVBA関係ないだろ。
776 :
デフォルトの名無しさん :2006/11/12(日) 16:51:53
すみません。職場でExcelVBAを動作させたいのですが セキュリティの問題のためか、署名がなければ 動作できないというエラーが出てしまいます。 個人レベルでのマクロの安全性の署名は 簡単に得られるのもなのでしょうか? もしくはVBなどで作り直さないといけないのでしょうか? 個人のパソコンを持ち込むことも出来ず ランタイム等勝手にインストール出来ないので、 持込の実行用ファイルでなんとかするか 初めから入っているoffice等で動かすしか手段はないのですが なにか良い方法はありませんか? どなたか良い知恵をお持ちのかたアドバイス頂きたいです。
>>766 ここで署名の方法を教えるのは簡単だが、そういうことは会社の許可を取ってから
やるべきなのでここでは教えない。スレ違いでもあるしね。
会社がマクロの実行を許可してない理由は、マクロウィルスを避ける為だけではなく
会社が許可してないマクロを勝手に実行されるのを防ぐためってこともある。
そういう場合は、個人レベルで安全だと解っていても、会社の許可を取らずにマクロを実行するべきじゃないから。
そもそも個人レベルでの安全確認のみでマクロを実行して良いという会社なら、署名の方法も通達されているはずだ。
それが無い時点で、勝手にやって良いことじゃない。
「持込の実行用ファイル」も持ち込んだ時点でインストールしたことになる。
「そのソフトのインストーラーを実行=インストール」ではなく「そのソフトを利用できる状態にする=インストール」だから。
実行ファイル持ち込みのみで動くアプリは、管理者権限が無くてもプロセスフィルタが無ければ簡単に実行出来るが
出来ることと、やっても良いことは違う。そんなのまともな会社で働いてるなら常識だが。
わかりません まで読んだ。
,, -──- 、._ .-"´ \. :/ _ノ ヽ、_ ヽ.: :/ o゚((●)) ((●))゚oヽ: :| (__人__) |: :l ) ( l: :` 、 `ー' /: :, -‐ (_). / :l_j_j_j と)丶─‐┬.''´ :ヽ :i |: :/ :⊂ノ|:
____ /⌒ ⌒\ /( ●) (●)\ /::::::⌒(__人__)⌒::::: \ 会社でやるお! | |r┬-| | \ `ー'´ /
781 :
デフォルトの名無しさん :2006/11/22(水) 23:06:15
782 :
デフォルトの名無しさん :2006/11/23(木) 12:48:15
783 :
デフォルトの名無しさん :2006/11/24(金) 13:56:09
VBAから.vbsの拡張子のファイルを実行させるにはどうしたらよいでしょうか? Shell関数を使ってみたのですが、「有効なWin32アプリケーションではありません」と出ます 対処方法がわからず、困っております 何卒よろしくお願い致します
>>783 ShellExecute とかいうAPIを使うのかな?
>>784 様
有難うございます
ネットでもっとよく調べたら自己解決しました
Sub Macro1()
Set WSH = CreateObject("WScript.Shell")
WSH.Exec ("%ComSpec% /c d:\Main\aaa.vbs")
End Sub
これで、MsgBoxがでたので、成功だと思います
お手数お掛けいたしました
786 :
784 :2006/11/24(金) 16:40:57
>>785 ああ、なるほど
WScript.Shell とかを使う手もありってことなら・・・
Set SAP = CreateObject("Shell.Application")
SAP.ShellExecute "d:\Main\aaa.vbs", "", "", "open"
この方がいいかも?
784,785,786みたいなAPI使わなくても Shellで有効なホストアプリケーションを指定してやれば良いだけだよ。
>>786 様,
>>787 様
ファイルを呼び出すにもいろいろな方法があるのですね
たいへん勉強になりました
お二方ともどうも有難うございましたm(_ _)m
VBAでElseIfの制御構文って使えますよね? EXCEL2003なのですがElseIfを書くと修正候補となり HELP読むとCASEを使えのようなことが書いてあります ElseIfは使えないのでしょうか?
使えるよ。使い方が間違ってなければ。
>>790 サンクスというか、なぜかElseIfが使えるようになった、タイプミスなんだろうか?
しかし、普通VBAの場合
elseとかタイプしても自動的にElseと直してくれるのに
elseifとタイプするとエラーになっるね?
よくわらん?
> elseifとタイプするとエラーになっるね? いいえ
793 :
デフォルトの名無しさん :2006/11/25(土) 22:24:51
>>791 If
Elseif
Endif
ってできるよ
凄腕プログラマーのオマイラに質問。 VBAにおいてのオブジェクトと、プログラム一般においてのオブジェクトって なんか概念が違ってない? VBAにおいてのオブジェクトは、セルやワークシートなど、プロパティやメソッドは含まない”モノ”を指してるような気がするけど、 プログラム一般においてのオブジェクトは、オブジェクト指向などに見られるように、変数やメソッド等も含んだ部品を指しているような気が。 オブジェクトの概念は、VBAとプログラム一般とで同じ?
795 :
デフォルトの名無しさん :2006/11/27(月) 03:06:00
あげてみる
>>794 君がプログラムオブジェクトとアプリケーションオブジェクトの区別が出来てないだけ。
VBA自体は完全なオブジェクト指向とは言い切れないが、VBAに置けるオブジェクトは
オブジェクト指向言語のオブジェクトと同義。
797 :
デフォルトの名無しさん :2006/11/27(月) 10:16:26
それがさ〜ネットでは同じようにかかれているのだけど ネットは間違いが多いので、本で確かめると、ど〜も違うんだな〜
本だって間違いが多いよ。ネットの解説も、本も、書いてるのは所詮人間だから。 つーか、ここだってネットなわけで、ネットの記事が信用できないならネット上で質問するなよ。 とりあえずこれ以上794に回答しても全て疑られるだけなので、以後放置で。
まぁネットの方が間違いが多いのは常識だね
玉石混合 どれを信じるかはお前次第だ 本は金払うんだから間違いが少ないのは当たり前だ。 むしろ間違っててはいけない。
本は偉い人が書いている場合が大半だけど ネットの場合は、プログラムを勉強中で、素人に毛が生えた程度の場合が多い
803 :
デフォルトの名無しさん :2006/11/28(火) 01:01:32
エクセルも専門的な内容になってくると プログラムに似てくるんだよね、だからプログラマ板に立てたのかな 2000万円の住宅ローンを、固定金利3.19%(年利)、返済期間20年で、 返済するとしよう。2000万円の3/5を毎月の支払いで返済し、 残りの2/5をボーナス月(7月と1月の年2回とする) に加算して計算する場合に、 毎月の返済額とボーナス月の加算返済額 (たとえば7月なら7月のボーナスで支払う加算額のみをさし、 7月における毎月の支払額は含めない) をゴールシークを用いて計算しなさい。 俺は、上の問題を解いてみたんだけど、PMT関数を使ってから、 それを一年の支払額に直して強引にゴールシークを使うというでたらめな アルゴリズムになりました。 この板は、ハイレベルな人が多そうなので、解ける人はお願いします。
ここは勉強方法を教わるスレで、 問題の解決方法を教わるスレじゃないんだがな。 つーか、マ的な立場で言わせて貰えば、ゴールシークなんて使うなよということになる。 全部自分でコード書いた方が解りやすい。
805 :
デフォルトの名無しさん :2006/11/28(火) 01:43:16
>>804 申し訳ない、俺もわざわざゴールシークを使うことに疑問を抱いたんだが、
問題に使えとあるので、仕方なく使ってみた。
>>794 同感〜
JavaとかRubyとVBAはオブジェクトの概念がなんか違う。
また来たの?
VBとVBAでもオブジェクトの概念が違うとか言い出すヤツまで出てきそうな流れだな。
VBとVBAでもオブジェクトの概念が違う
言語そのものとしては、VBA==VB6じゃんか。 VBAでは、標準コントロールの数が少なかったり、 コンパイルの制限があったり(実行ファイルそのものにはできない) いくつか制限が付くだけで、VBでもVBAと同じ事をできる。
いや違う。俺が違うと言えば、それはもう超絶的に絶対に違うんだ。
> VBAでは、標準コントロールの数が少なかったり、 とりあえずこの部分は完全に間違いだね。 コントロールは少ないんじゃなくて実は別物。 TextBox同士だって、同じ物ではないんだよ。 数少ないVBとVBAの非互換部分の一つ。
813 :
デフォルトの名無しさん :2006/11/30(木) 03:14:38
なんか変なので誰か教えてちょ。 Sub 文字数チェック() Dim S As String Dim dd As Long S = "12345" dd = Val(S) MsgBox Len(dd) End Sub このコードを実行すると、結果が 4 になるんです。 なぜ、5 じゃないのでしょうか。
>>813 4で有ってるよ。というかヘルプ見ろ。
Lenは「文字数、又は桁数」ではなく
「文字数、又は変数に必要なバイト数」を返す。
つまり、Len(12345)の結果(文字数)が4(文字)なのではなく
Len(Long型変数)の結果(必要バイト数)が4(byte)なんだよ。
型がLongなら、代入されている値がいくつだろうと、結果は4。
Dim dd As Integerにすれば、値に関係なく2が返るはず。
815 :
813 :2006/11/30(木) 03:48:41
>>814 そうだったのですね。
真夜中にどうもありがとうございます。
どうして素直に Len(S) にしないの?
質問文読め。
"12345"の文字数をカウントする『方法』が知りたいんじゃなくて
Long型変数に代入してLen関数に掛けると4が返る『原因』が知りたかったんだろ。
"12345"の文字数をカウントする方法(
>>816 )は、当然知ってる上での質問だよ。
全盲なので読めない。ごめん。
819 :
デフォルトの名無しさん :2006/12/01(金) 22:06:35
Excel2002です。 Dateから20061201のように整数の絶対値で値を取得するには どうすれば良いでしょうか。 Year関数等を使うと月と日が一桁のとき十の位の0が省略されてしまいます。 ご教示下さい。
Format(Date"yyyymmdd")
テキストファイルをシートに表示させたいのですが、どうしても上手くいきません。 ファイルもあることが確認できてますし、 貼り付け前にデータも取得できていることが、MsgBoxで確認できています。 どなたかよろしくお願いします。 Sub test1() Dim F_Num As Integer Dim ri As Long Dim D(9999, 1) As String Const FN As String = "D:\株価データ\YahooFinance\1301T.txt" If Dir(FN) = "" Then MsgBox "ファイルが見つかりません。": Exit Sub Worksheets.Add After:=Worksheets(Worksheets.Count), Count:=1 F_Num = FreeFile Open FN For Input As #F_Num ri = 0 Do Until EOF(1) ri = ri + 1 Line Input #F_Num, D(ri, 1) Loop Close #F_Num MsgBox D(1, 1) & vbCrLf & D(2, 1) & vbCrLf & D(ri - 1, 1) & vbCrLf & D(ri, 1) Range(Cells(1, 1), Cells(ri, 1)) = D End Sub
あ、できました。 Declarationsで Option Base 1 を付けたらできました。 ありがとうございました〜。
824 :
デフォルトの名無しさん :2006/12/02(土) 04:10:48
コントロールのスクロールバーですが、 スライドバーを動かすか、カーソルキーでしかスクロールしません。 マウスのスクロールボタンで操作できないんでしょうか?
825 :
デフォルトの名無しさん :2006/12/02(土) 11:46:12
セルに 11:13:01 のような時刻データ入力されてて、 マクロでそのデータを参照すると 0.467372685185185 といった数値が変数にセットされてしまいます。 この数値をVBA内部でhh:mm:ssの形式に変換するには どうすればいいでしょう??
format(time,"hh:mm:ss")
828 :
デフォルトの名無しさん :2006/12/02(土) 17:47:32
829 :
デフォルトの名無しさん :2006/12/02(土) 23:41:28
指定したセル範囲の中に "hoge"という文字列に完全一致したセルが何個あるか 返す関数ってなかったっけ??? COUNTIFじゃムリだよね?
830 :
デフォルトの名無しさん :2006/12/02(土) 23:59:22
831 :
デフォルトの名無しさん :2006/12/03(日) 12:24:06
Dim Repe() As Variant 動的配列が ReDim によって 初期化させているかどうかチェックする関数って ありますか?
日本語でおk
834 :
デフォルトの名無しさん :2006/12/05(火) 14:36:56
VBA初心者です。質問したいのですが、 エクセルのB2に"1"を入力した場合、C2に"○”をつける。 エクセルのB2に"2"を入力した場合、D2に"○”をつける。 というマクロをつくったのですが、 B2に間違って"1"を入力した後、"2"に訂正した場合を考えて、 C2の"○”を削除してからD2に"○”をつける。 という条件を追加したいのですが、うまくいきません。どうすればよいでしょうか。 Sub test() Dim str$ str = Range("B2") Select Case str Case "1" ActiveSheet.Shapes.AddShape(msoShapeOval, 118.8, 15.6, 72#, 72#).Select Selection.ShapeRange.ScaleWidth 0.18, msoFalse, msoScaleFromTopLeft Selection.ShapeRange.ScaleHeight 0.18, msoFalse, msoScaleFromTopLeft Selection.ShapeRange.IncrementLeft -6# Selection.ShapeRange.IncrementTop -2.4 Case "2" ActiveSheet.Shapes.AddShape(msoShapeOval, 159#, 7.2, 72#, 72#).Select Selection.ShapeRange.ScaleWidth 0.18, msoFalse, msoScaleFromTopLeft Selection.ShapeRange.ScaleHeight 0.18, msoFalse, msoScaleFromTopLeft Selection.ShapeRange.IncrementTop 6.6 Range("D3").Select Case Else MsgBox "不可 です" End Select End Sub
>>834 ヘルプをよく読んで勉強するといいよ。
注:スレタイ通り『勉強方法』を教えるスレなんで、具体的な方法は示しません。
>>834 それぞれ条件処理の一番最初に片方を削除する式追加すればいいだけじゃないの?
Sub test() Dim str$ Dim SP As Shape str = Range("B2") ActiveSheet.Shapes.SelectAll Selection.Delete Select Case str Case "1" ActiveSheet.Shapes.AddShape msoShapeOval, Range("C2").Left, Range("C2").Top, 10#, 10# Case "2" ActiveSheet.Shapes.AddShape msoShapeOval, Range("D2").Left, Range("D2").Top, 10#, 10# Case Else MsgBox "不可 です" End Select End Sub
838 :
デフォルトの名無しさん :2006/12/06(水) 06:21:15
あるシートをcsv形式で保存するマクロを作成したのですが、 作成したcsvファイルを開いてみると、 「2006/12/30」のような日付セルが、 なぜかすべて"12/30/2006"のような形式で表示されてしまいます。 テキストエディタで確認すると、 値が"mm/dd/yyyy"に変換されて保存されてました。 実際の該当ソースは File.SaveAs FileName:=SaveFileName, FileFormat:=xlCSV, CreateBackup:=False という感じですが、 どうすれば"yyyy/mm/dd"で保存することができるんでしょう???
>>836 SaveAs使わないで、普通にファイルに書き出せば良い。
SaveAsみたいな機能(メソッド)は、手軽な代わりに応用範囲も狭い。
使ってみて不満があるなら、そういう融通の利かないお手軽機能使わずに
一番基本的な方法を採ればいいのさ。
というよりは、まずは基本的なファイルI/Oをきちんと習得して、
お手軽機能で事足りるときだけお手軽機能使えば良いのさ。
ファイルI/Oに関してはVB6と一緒だ。VBAの資料よりはVB6の資料探した方が早い。
840 :
デフォルトの名無しさん :2006/12/06(水) 15:44:13
お願いします。 UserFormにTextboxを2つ、Commandbuttonを1つ配置して CommandButtonをクリックしたときにFoucusを持っているTextboxのほうに 特定の文字列をカーソル位置に挿入したいと考えてます。 そこで問題になるのがCommandButtonを押す直前のFocusです。 CommandButtonを押すとCommandButtonにFocusが移動するので Changeイベントでは対応できませんでした。 よろしくご教示願います。
Textboxにフォーカスが移るたびにフラグを切り替えてやればいいじゃん。 Textbox1の方では=True、Textbox2の方では=False、そのフラグの値で処理を振り分ければ良い。
フラグってなにぬねの?
調べる気がないなら知らないままで居ろ。
調べちゃった。 コンピュータ上での事象の状態をあらわすときに広く用いられる用語。 手旗信号において旗 (flag) の上げ下ろしで情報を伝達するようすから転じて、「on / off」「0 / 1」「はい / いいえ」等、二値化された状態の遷移を管理する。 一般的には是もしくは 1 の状態を「フラグが立っている」、否もしくは 0 の状態を「フラグが降りている」と言う。 マイクロプロセッサ上での計算時に用いられるゼロフラグ、符号フラグ、キャリーフラグ、パリティフラグ等があり、これらは 1 ビットの情報としてマイクロプロセッサ上で保持されている。 ふーむ、なるほど。。。
845 :
840 :2006/12/07(木) 00:24:07
>>841 ありがとうございます。
Textboxのフォーカスでフラグを立ててもCommandButtonを押すとボタンに
フォーカスが移ると思うんですが、フラグを立ててコマンドボタンを押す直前の
フォーカスを、_Clickイベントに持ち越す方法があるんでしょうか?
教えて君ですみません。
自分で作るんじゃないの? 変数使って。モジュールの先頭で宣言して。
847 :
デフォルトの名無しさん :2006/12/07(木) 00:59:25
>>846 自分に頂いたレスでしょうか?
CommandButton_Clickイベントが発生してるということは
既にフォーカスがCommandButtonに移動してるので
変数宣言してActiveControl.Nameを入れても
CommandButtonになってます。
ここで聞く前に自分でやってみて確認してます。
>>841 さんの方法はどうやってやるのか自分では見当がつきません。
848 :
846 :2006/12/07(木) 01:13:04
おれも
>>841 さんがどういうやり方しろといってるのかわかんないけど、
たとえば、モジュールの先頭に、
Dim cmdButton1Focus as Boolean
って宣言して、
Textbox1のInicializeイベントで、
cmdButton1Focus = True
Textbox2のInicializeイベントで、
cmdButton1Focus = False
ってやって、
CommandButton_Clickイベントで
If cmdButton1Focus = True Then
'Textbox1にフォーカスがあった場合の処理
Else
'Textbox2にフォーカスがあった場合の処理
End If
とこんな感じで。
適当に書いたから間違いあるかもしれないけど。
ちなみにフォーカス移すメソッドはxxx.Setfocusだったような。違ったかな。
849 :
846 :2006/12/07(木) 01:19:57
Inicializeイベントじゃないわ。 なんだっけ、Enterイベントだっけ。 フォーカスが移ってきたらすぐ実行するやつ。
>>847 Dim Flag As Boolean を宣言しておいて、
フォーカスが TextBox1 に移動したら Flag=True
TextBox2 に移動したら Flag=False にする。
ボタンが押されたら Flag の状態を見て、
True なら TextBox1 を、False ならTextBox2 が
直前に選択されていたことが分かる。
しまった。勉強法ではなく解決法を書いてしまった。
851 :
840 :2006/12/07(木) 01:50:54
>>848 こんな時間にご丁寧にありがとうございます。
>>850 ありがとう、やさしい人w
フラグの意味がやっとわかりました。
でも実はTextboxが6個有るのであとは何とか自分で考えて見ます。
ありがとうございました。
6個あってもやり方は同じだしな。 2値しか使えないBooleanの代わりに、 もっと多くの値を扱える型を使えばよいだけで。
853 :
840 :2006/12/07(木) 16:48:18
できました。 レスくれた皆さんに良いことがありますように。
854 :
デフォルトの名無しさん :2006/12/07(木) 16:54:01
外部変数つかってんなよw
外部変数ってモジュールで宣言した変数のことですか?
857 :
デフォルトの名無しさん :2006/12/09(土) 08:58:48
大村あつしさんの本で勉強したのですが、仕事で必要なマクロは基礎編で出来てしまいました。ユーザーフォームやコントロールの勉強をしたいのですが、問題集みたいなのって、何かありませんか?
コントロール関数編じゃだめなの?
セルの内容が「15:30」かどうか調べたいんですが、 If Cells(x, y) = "15:30" Then だと常に偽になります。 どうすればいんでしょうか?
860 :
859 :2006/12/09(土) 20:40:39
すみません、上の方に似たような質問があったので、 それで自己解決しました。
VBAでreturn Trueとかリターン文で戻り値は返せないのでしょうか?
Function として書けばよい。
Excel2000 を使用しています。 エクセルオブジェクトの階層構造をいつも質問欄にエクセルと入れて 開いているのですが、目次の使い方を知りたいのでどうやってたどれるのか 教えてください。
Windowsヘルプの基本的な使い方? Excel関係ねーじゃん。
Windowsヘルプではなくて、Excelヘルプのメニュー階層の構造です ・ユーザインターフェイス ・プログラミングのヒント ・開発環境 ・ランゲージリファレンス ・アドインモデル ・Microsoft Forms リファレンス とありまして、オブジェクトやらライブラリリファレンスみたいなものが無いのです。 ExcelオブジェクトはVB組み込みオブジェクトではなく、ActiveXオブジェクトなので ランゲージリファレンス系のツリーにはありませんし・・・
ExcelヘルプはWindowsヘルプというタイプのヘルプファイルなんだが。 別にOS(Windows)の説明をしてるもののことじゃないよ。>Windowsヘルプ 部分的にはhtmlヘルプもあるけど。 どっちにしろ、そういう汎用ヘルプファイルの基本的なことが解ってないだけ。
ちょっとお尋ね申すでござりんこ。 Dim a As Long a = 1000 * 10000 ってやるとオーバーフローになってしまいます。 Dim a As Variant でも Dim a As Double でもダメなのですがなぜでしょか? a = 10000000 はだいじょぶなのですが。
>>867 変数を長整数型で宣言してるけど式が整数型だけだからですねたぶん
a = 100000 * 100 とすれば大丈夫です
>>867 補足ですが、データの都合上やむを得ず整数型の式になる場合は
一度変数に入れてから計算するといけます
Dim a As Long, b As Long, c As Long
a = 100
b = 10000
c = a * b
>>868 ,869 わざわざありがとうござりんこ。
一旦変数に入れるとだいじょぼなのですねぇ。
Long でやってみた結果こんなんでました。
○ a = 1 * 1
○ a = 1 * 10
○ a = 10 * 1
○ a = 10 * 10
○ a = 10 * 100
○ a = 100 * 10
○ a = 100 * 100
× a = 100 * 1000
× a = 1000 * 100
× a = 1000 * 1000
× a = 1000 * 10000
× a = 10000 * 1000
× a = 10000 * 10000
○ a = 100000 * 10000
○ a = 10000 * 100000
× a = 100000 * 100000
× a = 1000000 * 100000
× a = 100000 * 1000000
× a = 1000000 * 1000000
どっちか片方の数値に型宣言子を付けたらどうだ? この数値はLong型だと明示してやる。 これだけで解決すると思うんだがな Dim a As Long a = 1000& * 10000
>>871 そういえば、そんなのがあったような
みごと上手くいきました。
ありがとう。
Dim a As Long
○ a = 100& * 1000
○ a = 1000& * 100
○ a = 1000& * 1000
○ a = 1000& * 10000
○ a = 10000& * 1000
○ a = 10000& * 10000
(・3・) エェー どうしよっかなぁー あんまりヒマだって思われちゃうのも嫌だしぃ〜 でも、答えてあげないとバカにされちゃうしぃ〜 だから、気が向いたら答えてあげるけどぉ〜〜 でも、やっぱりどうしよっかなぁ〜
別に答えなくて良いよ。 どうせ俺の質問には答えられないだろうし。
よっぽど暇なんだな・・・
すみません。Excelの1つのセルにメモ帳で作った 短文を格納しようと思っておりますが あいにく、コピペした際に改行コードを含んでいる場合、 勝手に次のセルに以降が移ってしまって困っています。 ↑のような文章を1セルに収めるには どうするのが一般的なのでしょうか? 改行コードを無理やり<BR>なりに変換して 格納するしかないのでしょうか? どなたかお答え頂けると嬉しいです。
セルをダブルクリックしてから or 数式バーに貼り付け
解決しました。有難うございました!!
879 :
デフォルトの名無しさん :2006/12/22(金) 23:51:23
あ
Excel VBE を開いて、ユーザーフォームを挿入、そこにテキストボックスを置きます。 その場合のプロパティは、 オブジェクト名 UserForm1 UserForm (→これはクラス名?) オブジェクト名 TextBox1 TextBox となります。この時のコードテンプレート(Sub 〜 End Sub で囲まれた中身が空のプロシージャ) のプロシージャ名が、前者は、UserForm_Click() なのに対して、後者は、TextBox1_Change() と付いています。何で前者は UserForm1_Click()じゃないんでしょうか?何か意味があるんでしょうか?
881 :
デフォルトの名無しさん :2006/12/23(土) 12:41:19
Win XP Excel2003です。 ファイルを起動させた時に、Excelを表示せずにフォームだけ表示させることは 可能でしょうか? Application.Visible = Falseでは、起動時に一度Excelが出てきてしまいます。 他に方法はあるのでしょうか?VBやったときないんで、ExcelVBAでがんばった んですが 処理は全てフォーム内の操作のみで行ないます。
>>880 1つのユーザーフォーム内に
ユーザーフォームは当然1つしか存在できないので区別する必要がないからです。
UserForm1の中で「UserForm」と言えばUserForm1の事に決まっていますから。
逆に1つのユーザフォーム内に
テキストボックスは複数存在できるのでTextbox1などとして区別しないといけないのです。
ではUserForm1という名前が不要と思われるかも知れませんが
プロジェクト内にはユーザフォームが複数あるので
それぞれのユーザフォームを識別する際はUserForm1と言った名前が必要なのです。
883 :
880 :2006/12/23(土) 13:11:44
良く判りました。 ありがとうございました。
>>881 Excelを起動するコードを書いた.vbsファイルを作ってそこから起動するとか。
VBScriptはVBAと構文は基本的に同じ
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible=False ' 書かなくても基本的に非表示だった気が
で、あとはxlAppをExcelのApplicationオブジェクトと同様に扱える
いや、これでExcelのユーザフォームが表示できるかは試してないけれど
Excel上でApplication.Visible=False状態で表示できたのなら大丈夫
885 :
881 :2006/12/23(土) 13:32:31
>>884 ありがとう。試してみます
VBScript・・・がんがって渡来してみます。
>>881 普通の開発環境使っとけよ。
Excelのシートを使わないのにVBAでやる意味無いじゃん。
VBA使いこなせるならVBだって使えるし、VB.NETだってそんなに難しくない。
一定時間置きにマクロを実行させたいのですが ExcelをWeitで待たせておくとマウスが砂時計になってほかの作業ができないので Application.OnTime("00:00:00"),"マクロ" 見たいなのたくさん連ねて何度も実行するようにしたのですが これ5分置きに実行したいので何個もApplication.OnTimeの同じコード書いて 実行しているのですが何個も使っても大丈夫でしょうか?
>>887 何個も使っても大丈夫だけど、再帰呼び出しにすればいいじゃん。
5分置きに行う処理がそれぞれ全く別物というなら話は別だが。
889 :
887 :2006/12/23(土) 19:29:52
>>888 ありがとうございます。
何個も使っても大丈夫なんですね、安心しました。
再帰呼び出しってどうやったらできるのですか?
ヘルプ検索してみたんですが書いてないみたいです。
同じマクロを実行させているのですが、何個も同じコード書くのがかなりめんどくさいです・・・
sub Macro() ' 処理 Application.OnTime Now + TimeValue("00:05:00"), "Macro" end sub
891 :
887 :2006/12/23(土) 20:35:25
>>890 さん、ありがとうございます。
同じの何回も書かなくてもできるんですね、早速組み込んでみます。
892 :
881 :2006/12/24(日) 00:43:20
>>886 VBはなぜだか敷居が高いような気がしてまして...
いや、プログラム自体(VBA以外)やったときないんです。
調べてみたら、VBAより断然いろんなことが出来るようですね。
ちょっと楽しみです。がんばります。
亀レスすまそ
893 :
デフォルトの名無しさん :2006/12/24(日) 00:50:13
プログラムってVB以外にもCとかJAVAとかいろいろあると思いますが、 VBAユーザーならVBがとっつきやすいのでしょうか。 プログラムはじめるにはVBが無難?
Public Property Let Hoge(…) : End Property みたいに、セッター・ゲッターを実装しようとしているのですが、 Property Let は、複数の引数を取れるのでしょうか?その場合、 引数の値を定義したクラスモジュールのユーザー定義プロパティ メンバーに設定しようとすると、どうすれば良いのでしょうか? 引数が一つだけの場合は判るのですが、複数の場合が判りません。
895 :
デフォルトの名無しさん :2006/12/24(日) 10:58:50
質問があります。スレ違いでしたらご誘導願いたく思います。 (他にピッタリくるスレを見つけられなくて・・・) 【1 OSの種類 .】 XPPro 【2 Excelのバージョン 】 xcel2003 script editor10 divelopment Environment7.0 【3 VBAが使えるか .】 ほんの少し 【4 VBAでの回答の可否】 初心者レベルなら 【5 検索キーワード 】 マクロ ピボットテーブル 「オブジェクト変数またはWithブロック変数が設定されていません」 以下の処理をマクロで記録して実行しようとしたら ・開いているシートのA列に会員番号が並んでいる。重複あり。 ・ピボットテーブルによって重複しないものだけ抜き出し別のシートにテーブルを作る。 こういうエラーが出ました。 ・「オブジェクト変数またはWithブロック変数が設定されていません」 ソースは以下になります。 Sub ユニーク会員抽出() Columns("A:A").Select ★ ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ ★ rng).CreatePivotTable TableDestination:="", _ ★ TableName:="ピボットテーブル1", DefaultVersion:=xlPivotTableVersion10 ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) ActiveSheet.Cells(3, 1).Select With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("会員番号") .Orientation = xlRowField .Position = 1 Set rng = ThisWorkbook.Worksheets("sheet1").Range("A$:A$").CurrentRegion End With End Sub デバッグすると★をつけた3行だけ、黄色です。 なのでSet rngの後がNGな気がしますが、どう直したらいいのやら。。どなたかお力を・・・
ここは勉強方法を教えるスレで解決方法を教えるスレじゃない。 誘導先は元スレだが、既に解決方法は示されてるので、あとは自分でやれ。
とりあえず、 Set rng = ThisWorkbook.Worksheets("sheet1").Range("A$:A$").CurrentRegion を Sub のすぐ下にもっていく。 おれpivotはよくわからないけど。
898 :
デフォルトの名無しさん :2006/12/25(月) 09:47:43
フリーソフトでこんなのあったら教えて下さい 参考にしたいです 問答形式ですすむやつ yes,noで答えると正誤が判定でき,正の場合に次の質問にすすめるやつ
スレ違いだし板違い。ここは作る側の人間が集まる板で 既存の物を探して使うしか能のない人間が来る板ではない。
900 :
デフォルトの名無しさん :2006/12/25(月) 12:29:37
ではどこで聞けばいいのでしょうか 教えて下さい
そういうソフトはしらないけど、 MsgBoxとIf文で作れるんじゃない?
>>898 MsgBox
vbYesNo
vbYes
If
For
配列(多次元配列)
辺りをVBAのヘルプで引け。
間違っても if (MsgBox(〜) = vbYes) then if (MsgBox(〜) = vbYes) then if (MsgBox(〜) = vbYes) then if (MsgBox(〜) = vbYes) then end if end if end if end if といったマヌケなプログラムは書かないで欲しい 時々いるんだよ馬鹿が
>>904 こんな奴いるか?俺は知らんぞw
馬鹿って言うか逆に頭良いだろ
回答のY/Nの組み合わせ順序が変わったら毎回ソース書き直すのか? if (MsgBox(〜) = vbYes) then if (MsgBox(〜) = vbNo) then if (MsgBox(〜) = vbNo) then if (MsgBox(〜) = vbYes) then end if end if end if end if MsgBox(〜)の中身も問題文が変わる度に修正するのか? 配列使えよ
あ、配列じゃなくてEXCELのセルから引っ張って恋
. o ゚ i | ◯'⌒ヽ、 ゚。 o * ○ '⌒ ヽ、 * ・、. / ノ ( ) 。 。゚ ( ) ノ o ゙、\ i i゚ ./`:;,,___ノ ◯ 。 ゚ ( ノ \`ー' i //´ o 。 o o 。 ___ o `\ ◯" ,ノ 。 ........____......o___...._____.....__........_ |______| ○ 。゚ i 。 / o o ,'"  ̄  ̄  ̄o `、 iエエエi o 。゚ o | /゚ ,i'⌒ヽ、 ゚ ,' ,ヘ、。 ◯ o ,へ、 o `く`ユュ/ 。 ゙、\_ノ i o ( ) ,' メ ヘ 。 / oへ、 `、_メ 。 ` 、゙ ノ /`;;;;;_ノ ,' メ /::`、 o / /_____\ `、 ◯ o \ i,//´ o ,' メ /二:`、 i | |ロ|ロ| | 。 `、 o i ◯/ 。 ,' メ /|iロiロ|`、 。 i.__|_|ロ|ロ|_| ○ 。 / / 。 ,' メ /..|iロiロ|..`、 O  ̄ ̄ ̄ o `、 。 * ./ / ○ o i_/__/::::ニニ:::::`、_____________`。 o :::/ο i iニi、 | || \" ゙゙̄\゚ | |゚ ゚ ゚ ゚ ゚ °°゚ ゚ ゚ °|° ..i | O (´・ω・`) |O |o @::| 。0ニニ二ニ|ミ田田彡|ニニ二ニ| 。 ○ ノ、.......,iー. __(_ _).. |..|| |$::::::::| | |二ニニ二ニニニ二ニニニ|`ー-、.,_................................. ,._,,,.,.,._.。--ー―'''''^"´,。=ー'^"´ ̄ ̄ ̄o ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ _,.。-ー'''^ ,.。-ー'^"´ o o _,.-'" .. ... .. ○ / .... O .... ⌒ いまどき小学生でもループくらいは知ってると思う。
そういうことじゃなくて、変数使わないなら1行で書けよって言いたいんじゃないの
>>904 は
いまどきの小学生でもループ処理というかプログラムすら書けないお子様がほとんどです
PGなお子様も星の数程居るけどな
914 :
初心者です。 :2006/12/26(火) 21:34:56
Excelとかのメッセージでピンポン、とかピロン、とか音が出ますが、VBAで使う事は出来ますか?どんなコードですか?先輩方宜しくご教授下さいm(__)m
>>914 Beep
これ以外の音はWin32APIのMessageBeepや
wavファイルの再生などを使いましょう。
916 :
初心者です。 :2006/12/26(火) 22:06:42
>>915 さん、
ありがとうございます。勉強してみます。
917 :
デフォルトの名無しさん :2006/12/27(水) 20:58:05
rnd関数使って最大5億くらい乱数呼び出したいのだけど、一千万回くらいで rndが取る値がループするのね、んでrandomize使って乱数更新してるんだけど偏りが消えない・・・ どうしたらいいの?
別にループしないし、多少の偏りは出るとしても毎回同じように偏ることは無い。 というか乱数って多少偏り出るのがデフォだからね。 サイコロ6回振ったら1〜6まで必ず1回ずつ出るとは限らないだろ。 回数が増えるほど偏りは小さくなるけど、完全に均等分布にしたければ、 そういう加工をしろってことで。
>>917 >randomize使って乱数更新してるんだけど
どっちかというと目的に合う良い乱数シードを見つけた方が良いのではないかと
5億回という目的なら統計的なデータだろうから毎回同じ順番でも関係ないだろうし。
全く偏りがない乱数ってのは、乱数の本質に反するものだからなあ。 いままで、特定の値が多く出た、または少なかった、という過去の履歴が、 それ以後の「出目」に対して影響しないのが乱数。 偏りを無くそうとしたら、「過去の履歴が、以後の出目に影響する」事になってしまうだろ。
数式を使う「疑似乱数」の特性上、どうしても、 (アルゴリズムによって違うとは言え)一定回数でループはするわけだが、 整数型乱数と違い、浮動小数点型(たぶん単精度)は、ループ周期が、かなり多いはず。 1000万回程度でループするのは、あんまり上質な疑似乱数じゃない気がする。 どうしてもダメだと思ったら、VBA標準じゃない外部の疑似乱数アルゴリズムを探して、 そいつを使ってみるしかないんじゃないか?
つ hp.vector.co.jp/authors/VA020429/mt.html 乱数使うならMT知っておいて損はないと思う
πの出てくる数字は良い乱数列といわれているらしいのですが本当ですか?
925 :
デフォルトの名無しさん :2006/12/30(土) 15:32:24
あるシートが存在していればそのシートを削除する作業を作成したいのですが どうすればいいでしょうか?
あるシートが存在していればそのシートを削除すればいいと思うよ
「あるシートが存在」をどういう条件で判断するの? シートの名前? それともシート内のデータ? あるいはN番目のシートとか?
またループ処理を知らない大学生か!
929 :
デフォルトの名無しさん :2006/12/31(日) 16:59:51
N番目でもシート名でも好きにしな
930 :
デフォルトの名無しさん :2006/12/31(日) 18:07:21
ユーザーフォームにテキストボックスを4つ配置してオートタブを設定したのですが、テキストボックス1の入力がおわるとフォーカスがテキストボックス4に移ってしまいます。テキストボックス2にフォーカスを移すにはどうしたら良いのでしょうか?
TabIndex
TabIndex
AbeIndex
書き込めないのは何故?
935 :
デフォルトの名無しさん :2006/12/31(日) 20:00:34
ありがとうございます。早速、やってみますm(__)m
936 :
デフォルトの名無しさん :2007/01/01(月) 00:26:00
>>927 シートの名前で判断したいです
DBみたいにEXISTなんかないしなぁ
> DBみたいにEXISTなんかないしなぁ 無ければ作れば良い。 Function SheetExist(objWorkbook As Workbook, strSheetName As String) As Boolean って感じでね。答えそのものではなく勉強方法教えるスレなんで、この先は自分で頑張ろう。 Excel使いはワークシートでもVBAでも、組込みの関数を使うだけってのに 慣れ切っちゃってるが、関数(メソッド)ってのは本来自分で作るものなんだから。
慣れきってるっていうより知らないだけだと思うが
939 :
デフォルトの名無しさん :2007/01/01(月) 11:38:08
>>930 です。TabIndexもTabOrderもMaxlengthも設定したのですが、コントロールを二つずつ飛ばしてフォーカスが移ってしまいます。Textbox1の次にTextbox4、次がCommandbotan2、という具合です。どなたか原因がわかる方いませんか?
設定の仕方すら全くわかってないようだな まあこういう簡単なことには、スレ違いでも意気揚々と 答えてくれるピエロが居るからしばらく待ってればいいさ
941 :
デフォルトの名無しさん :2007/01/05(金) 00:57:19
このスレいらなくネ? 他の言語やってればVBAの勉強法がわからんてありえないでしょ
単発質問スレなのに、何故か質問スレと勘違いした奴等が迷い込んできてるだけ もうすぐ1000だし、単発質問駄スレの次スレを意気揚々と立てちゃうバカも居ないだろうから もうちょっとで消えるさ
943 :
デフォルトの名無しさん :2007/01/06(土) 10:50:08
>>937 ありがとう。初心者にぴったりの参考書ありますか?
仕事上使わなくてはいけなくなったので。
「初心者」という言葉で逃げることしか考えてない奴は何を読んでも無駄。 仕事で使うんなら、あとは上司にでも相談しろ。 まさかVBA出来る奴が社内に一人も居ないって訳じゃないだろうし 実力に見合わない仕事を押しつけられてるならハッキリ断るか 勉強時間を取ってもらえ。仕事に必要なスキルを身に付けるのも仕事のうちだからな。
基礎を覚えたいのなら、VBAスタンダードの ピンク本で理解度がわかるけど。 ただ、仕事で使うのなら限られた機能を2つ3つ 使えば事足りるんじゃないか。
946 :
デフォルトの名無しさん :2007/01/07(日) 15:09:06
>「初心者」という言葉で逃げることしか考えてない奴は何を読んでも無駄。 バカ発見
次スレ立てる気満々じゃないですかw
ネタだろ 本気で立てるバカはさすがに居ないでしょ
スレタイから 「勉強法」 を削除しようぜ 勉強法なんて、ヘルプ見ろ の5文字で済む事だし。
●EXCEL・VBAの教えてスレ2●
VBAって、やっぱ、基本からやらないと難しいわな。 正月の2日間でちょちょいのちょいで簡単なアプリ作ろうとしたけど挫折した。orz
955 :
デフォルトの名無しさん :2007/01/28(日) 13:59:30
習うより慣れろだと思う。 まずは基礎本を1冊、その後はどれだけ経験するか
957 :
デフォルトの名無しさん :2007/01/29(月) 21:52:39
今ExcelのマクロはほとんどVBAになっちゃってるけど、ブックにシートを追加するときに Excel4.0のマクロシートが残ってることがわかる。やってみたいけど、誰かマスターする 方法おしえてくれないかな?解説書は売り切れてるしネットでも見当たらない。せっかく 残ってる機能だから眠らせておくのは惜しい。
>>957 ここはマルチで書いた方の前スレだから、あまりレスないかも
埋め立てせねば
>>957 ・Amazonの中古で探す
・英語版のヘルプがMSからダウンロードできる
960 :
デフォルトの名無しさん :2007/01/31(水) 18:07:08
イルカに「ウンコ産まれそう」って言わせるVBAを教えてくださいm(._.)m
>>960 普通に言わせればいいじゃん
文字列であれば、どんな言葉だってやり方は同じだろ
962 :
デフォルトの名無しさん :2007/02/02(金) 22:40:22
>>960 Sub unko()
With Assistant
.Visible = True
With .NewBalloon
.Text = "ウンコ産まれそう"
.Button = msoButtonSetOK
.Show
End With
End With
End Sub
ここはネタスレですか?
>>962 ありがとうございますm(._.)m
ところでOKボタンが押されたら
イルカに消えてもらう方法はありますか?
>>964 コードの下に
Assistant.Visible = False
を入れればいいだけです。
Sub unko() With Assistant .Visible = True With .NewBalloon .Text = "ウンコ産まれそう" .Button = msoButtonSetOK .Show End With .Visible = False End With End Sub
967 :
デフォルトの名無しさん :2007/02/13(火) 03:14:16
初心者ですが、一日20分くらいしか勉強できないのですが 表計算など、エクセルを堪能に使えるようになるまでに およそどれくらい掛かりますか? 1〜3ヶ月とかアバウトで、自分ならどれくらいかってことでいいのですが
頭悪い質問キタ───(゚∀゚)───!!!!
>>970 出た、似たようなスレ巡回してる暇人が、ストーカーw
お前自身がある意味マルチww
いちいち指摘しなくていいよ。お前の書き込みも無駄だっつーの。
可愛いレジ店員がいるコンビニでバレンタインチョコを買う ↓ 袋は要らないと断り、チョコをレジに置いて釣り銭を財布に入れる ↓ わざとチョコを置き忘れて足早に店を出て車に乗り込もうとする ↓ 可愛い店員が追いかけてチョコを手渡しに来る ↓ 「あの・・・これ・・・」 ↓ ( ゚д゚ )あ、ありがとう
その可愛い店員は店に入って急いで手を熱心に洗う
可愛い店員が追いかけて ↑ 可愛いレジ店員は次のレジ待ちの対応をしているので かわりにむさい男性店員が追いかけてくるはずだ。
( ゚д゚ )あ、ありがとう ( ´-` )どういたしまして …つづく…
VBA初心者ですがお聞きしたいことがあります。 オートフィルタが付いてたら外すという方法がうまくできません…。 教えてください…(T_T)
>>979 普通にやればいいだけじゃん。
というか、どういうコードを書いていて、何がどう上手く行かないのかくらい書こうよ。
>>979 Sub cancellation()
Dim myAfil As AutoFilter
Set myAfil = ActiveSheet.AutoFilter
If Not myAfil Is Nothing Then
myAfil.Range.AutoFilter
End If
Set myAfil = Nothing
End Sub
981さん 御親切にありがとうございます。試してみます。 もっと勉強します!
983 :
デフォルトの名無しさん :2007/02/22(木) 20:41:13
うめ
984 :
デフォルトの名無しさん :2007/02/22(木) 20:41:46
うめ
985 :
デフォルトの名無しさん :2007/02/22(木) 20:42:57
うめ
986 :
デフォルトの名無しさん :2007/02/22(木) 20:43:44
うめ
987 :
デフォルトの名無しさん :2007/02/22(木) 20:44:39
うめ
988 :
デフォルトの名無しさん :2007/02/23(金) 15:23:40
うめ
989 :
デフォルトの名無しさん :2007/02/23(金) 15:24:17
うめ
990 :
デフォルトの名無しさん :2007/02/23(金) 15:24:57
うめ
991 :
デフォルトの名無しさん :2007/02/23(金) 15:25:52
うめ
992 :
デフォルトの名無しさん :2007/02/23(金) 15:26:31
うめ
もも
994 :
デフォルトの名無しさん :2007/02/23(金) 17:03:23
うめ太郎
995 :
デフォルトの名無しさん :2007/02/23(金) 17:03:55
うめ助
996 :
デフォルトの名無しさん :2007/02/23(金) 17:04:31
うめ吉
うめ子
ちんこ(^.^)
うんこ(´・ω・)ゞ
1000 :
デフォルトの名無しさん :2007/02/23(金) 23:01:36
まんP-----( ・∀・ )
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。