Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12352 / 13646 ツリー ←次へ | 前へ→

【10933】エクセル起動時のVBA表示 カテキン 04/2/19(木) 9:29 質問
【10935】Re:エクセル起動時のVBA表示 Jaka 04/2/19(木) 10:06 回答
【10937】Re:エクセル起動時のVBA表示 つん 04/2/19(木) 10:12 発言
【10941】Re:エクセル起動時のVBA表示 ichinose 04/2/19(木) 11:06 発言
【10942】追伸・・・・・ ichinose 04/2/19(木) 11:08 発言
【10943】V3のリンク こうちゃん 04/2/19(木) 11:19 発言
【10945】Re:V3のリンクichinoseはんに Jaka 04/2/19(木) 11:35 発言
【10946】Re:V3のリンク ichinose 04/2/19(木) 11:35 質問
【10947】Re:V3のリンク ぴかる 04/2/19(木) 11:50 発言
【10966】Re:V3のリンク ichinose 04/2/19(木) 18:06 お礼
【10948】Re:V3のリンク こうちゃん 04/2/19(木) 12:09 発言
【10949】Re:V3のリンク つん 04/2/19(木) 12:54 発言
【10951】Re:V3のリンク Jaka 04/2/19(木) 13:45 発言
【10936】Re:エクセル起動時のVBA表示 つん 04/2/19(木) 10:10 回答

【10933】エクセル起動時のVBA表示
質問  カテキン E-MAIL  - 04/2/19(木) 9:29 -

引用なし
パスワード
   詳しくなくてうまくいえないですが、エクセルを起動時と同時に
VBA(ユーザーフォーム)を表示するにはどうしたら
いいのか教えて下さいまし。
初心者なので分かりやすく教えてもらえると幸いです。

【10935】Re:エクセル起動時のVBA表示
回答  Jaka  - 04/2/19(木) 10:06 -

引用なし
パスワード
   個人用マクロブックにフォームがあるとして、同じブックの標準モジュールに

Sub Auto_Open()
Userform1.Show
End Sub

【10936】Re:エクセル起動時のVBA表示
回答  つん E-MAIL  - 04/2/19(木) 10:10 -

引用なし
パスワード
   カテキン さん、おはようございます。

>詳しくなくてうまくいえないですが、エクセルを起動時と同時に
>VBA(ユーザーフォーム)を表示するにはどうしたら
>いいのか教えて下さいまし。

エクセル起動時というより、そのユーザーフォームのあるファイルをオープン時ってことですよね?

ThisWorkbookモジュールに
「Workbook_Open」イベントっていうのがあるから、
そこに、

Private Sub Workbook_Open()

  UserForm1.Show

End Sub

ってやればどうですか?
こんな回答でいいんだろうか?

【10937】Re:エクセル起動時のVBA表示
発言  つん E-MAIL  - 04/2/19(木) 10:12 -

引用なし
パスワード
   Jaka さん、おはようさんです。
かぶっちゃった(>_<)

私は、イマイチ
Auto_Openと、Workbook_Openの使い分けがよーわかってないんやけど、
どうなんでしょう?

【10941】Re:エクセル起動時のVBA表示
発言  ichinose  - 04/2/19(木) 11:06 -

引用なし
パスワード
   つん さん、Jakaさん
おはようございます。


>私は、イマイチ
>Auto_Openと、Workbook_Openの使い分けがよーわかってないんやけど、
>どうなんでしょう?

私は、新しいもの好きなので通常だとWorkbook_Openを使うのですが、このサイトで
だいぶ前にWorkbook_Openにはバグがあるというご指摘を受けました。
実際には、そのバグに遭遇した経験がありません。

但し、その時にAuto_Openのメリットを教えていただいてAuto_Openを使っています。
例えば、Auto_Openを記述するブックを「autoopen.xls」して、以下のコードが
書けるそうです。

'=============================
Sub auto_open(Optional in_flg As Boolean = False)
  If in_flg = False Then
   MsgBox "起動しません"
   ThisWorkbook.Close False
  Else
   MsgBox "ようこそ"
   End If
End Sub


これだと、直接ユーザーがこのautoopen.xlsを開いた場合は、エラー(エラーするコード)になります。

別のブックで(例えば、readbk.xls)で、

'===================================================
Sub test()
  Dim bk As Workbook
  Set bk = Workbooks.Open("D:\My Documents\TESTエリア\autoopen.xls")
  Application.Run "autoopen.xls!auto_open", True
End Sub

等とすると正常処理コードが動く。
これを教えていただいてから、Auto_Open派になりました。

【10942】追伸・・・・・
発言  ichinose  - 04/2/19(木) 11:08 -

引用なし
パスワード
   本当は、V3捜して、リンクしようと思いましたが、
V3のリンクが消えてますよね?

どうするんだろう???

【10943】V3のリンク
発言  こうちゃん E-MAIL  - 04/2/19(木) 11:19 -

引用なし
パスワード
   ichinoseさん、こんにちは
カテキンさん、Jakaさん、つんさん、回答に関係なくてごめんなさい。

>本当は、V3捜して、リンクしようと思いましたが、
>V3のリンクが消えてますよね?
>どうするんだろう???

いまのうちならここのメニューの「質問箱トップ」が
旧研究所の質問箱4につながっているので、そこから質問箱3にいけますね。

#谷さん、こちら見てますか?
この件、石鹸箱に書こうかと思ってたところなんですが・・

【10945】Re:V3のリンクichinoseはんに
発言  Jaka  - 04/2/19(木) 11:35 -

引用なし
パスワード
   みなさま、こんにちは。
↓をまとめていたら、ichinoseはんに先を越されちゃいました。
でも載せます。
**************************
つん さん、おはようさんです。(昼だけど、コピペ)

私は、Auto_Openの方が使いやすい気がして、Auto_Open派です。
因みにWorkbook_Openにバグがあると、どこかで読んだ事も有ります。

Auto_OpenとWorkbook_Openの両方が書いてある場合、Workbook_Openの方が先に実行されるみたいです。

例えば、下記コードでマクロでWBOP.xlsを開いたとします。

Sub Macro1()
  Workbooks.Open ("C:\WINDOWS\デスクトップ\WBOP.xls")
End Sub


WBOPにマクロが書いてあった場合、

Private Sub Workbook_Open()  無条件で実行されます。

Sub Auto_Open()         実行されません。


Auto_Openを実行させるには、こう書かないとダメです。

Sub Macro2()
  Application.Run ("'C:\WINDOWS\デスクトップ\WBAP.xls'!Auto_Open")
End Sub

それと、Auto_Open派って書いちゃったけど、アドインやマクロブックで使うには、Workbook_Openの方が良いかもと、最近思うようにもなりました。
Workbook_Openは、Auto_Openと比べるとメモリ消費量が少ないらしいから...。
詳しくは???で、うまく言えませんがAuto_Openは、モジュールレベルかプロシジャーレベルか解りませんけど、どどっと全部のプログラムを読み込んでしまうらしいです。
ニュアンス的には、サブルーチンも全部って感じみたいらしいです?
この辺も良く解ってませんけど...。

でも、現在使っているアドインは、全部Auto_Openで書いてあり直してません。
バグがあるって言うところが引っかかって...。

全然説明になってませんねぇ!
要は、私もようわかりませんってことですか。
あっ、使い分けでしたっけ、私は全く使い分けてません。

【10946】Re:V3のリンク
質問  ichinose  - 04/2/19(木) 11:35 -

引用なし
パスワード
   ▼こうちゃん さん:
おはようございます。

>いまのうちならここのメニューの「質問箱トップ」が
>旧研究所の質問箱4につながっているので、そこから質問箱3にいけますね。
「質問箱トップ」ですよね? うーん、たどり着けません・・・。

ホームページに行ってしまいます。

ちょっと前までそうだったのですかね?
それとも私が何か間違ってますか?

いづれにせよ、V3のリンクはほしいよねえ・・・。

【10947】Re:V3のリンク
発言  ぴかる  - 04/2/19(木) 11:50 -

引用なし
パスワード
   こんにちは。

これかな?。あたくしは、今でもV3の方にもよく行きます。
http://www21.tok2.com/home/vbalab/bbs/c-board.cgi?cmd=one;no=11295;id=Excel

【10948】Re:V3のリンク
発言  こうちゃん E-MAIL  - 04/2/19(木) 12:09 -

引用なし
パスワード
   ichinoseさん、こんにちは

>「質問箱トップ」ですよね? うーん、たどり着けません・・・。
>ホームページに行ってしまいます。
>
>ちょっと前までそうだったのですかね?

ちょっと前までそうだったのです。
いまクリックしたら新ホームへジャンプされちゃいました。

V3リンク、ほしいですね。

【10949】Re:V3のリンク
発言  つん E-MAIL  - 04/2/19(木) 12:54 -

引用なし
パスワード
   みなさん、こんにちは〜(まとめてすみません)

まずは、ichinoseさん、Jakaさん、Auto_Openの件、
ありがとうございました。
なんとなくわかったような、気はします(^^;
又、ichinoseさんのコード試してみよう。(まだしてないです、すんません)

要するに、Workbook_Openは、ブックの開き方にかかわらず、
問答無用で実行されちゃうけど、Auto_Openは、
マクロで開かれた場合は、「Application.Run 」で実行しないと
ダメってことですね(Jakaさんが書いてくれてはるそのまんまか(^^;)

Workbook_Openのバグってなんだったんでしょうね?
私も読んでいるかもしれんなあ。
なにせ鶏頭なんですぐ忘れちゃいます(^^;

>V3リンク、ほしいですね。
うんうん。欲しいですよねー
ちょっくら谷さんにメールする用事があったんで、
みんなが「V3へのリンクはどーなってんだ!」って言ってるよ、
と書いておきました♪
リンク復活させてくれたらいいな〜

あと、はーぼっとと、谷さんのブロマイドへのリンク(笑))))

【10951】Re:V3のリンク
発言  Jaka  - 04/2/19(木) 13:45 -

引用なし
パスワード
   >要するに、Workbook_Openは、ブックの開き方にかかわらず、
>問答無用で実行されちゃうけど、Auto_Openは、
>マクロで開かれた場合は、「Application.Run 」で実行しないと
>ダメってことですね(Jakaさんが書いてくれてはるそのまんまか(^^;)

すみません。
手抜き入っていたみたいです。
下記コードだと、
Application.Run ("'C:\WINDOWS\デスクトップ\WBAP.xls'!Auto_Open")

いちいちこうやってブックを開く必要ありません。
Workbooks.Open ("C:\WINDOWS\デスクトップ\WBOP.xls")

Application.RunXXXXで、閉じてあるファイルも勝手に開いてくれます。

【10966】Re:V3のリンク
お礼  ichinose  - 04/2/19(木) 18:06 -

引用なし
パスワード
   ▼ぴかる さん:
こんばんは。
>
>これかな?。あたくしは、今でもV3の方にもよく行きます。
>http://www21.tok2.com/home/vbalab/bbs/c-board.cgi?cmd=one;no=11295;id=Excel

私が、さがしていたトピックとは違いますが、↑も参考になりますね!!
このサイトであることは間違いないんですが、古いものは、消えていて見つかりませんでした。
でも、これでV3ありかはわかりました(でも、リンクはほしいね)。
ぴかる さん、ありがとうございました。

12352 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free