tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
VBからエクセルVBAを登録(VB6.0 応用編) ( No.13 )  [親スレッドへ]
日時: 2009/12/27 19:06
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[エクセル][][]                                                      *
* キーワード:VBA,マクロ,CommandButton,コマンドボタン                             *
***********************************************************************************

元質問:VBからエクセルVBAを登録 - KIRIRI  2005/08/29-18:57 No.4244

1.VBからエクセルファイルを新規作成し
2.Sheet1へコマンドボタンを配置し
3.コマンドボタンを押したときの処理をエクセルVBAへ書くというプログラムを作成しています。
1と2は問題なくできるのですが、3でVBAへ処理を書き込む際に標準モジュールへ書き込んでいます。そのせいか、作成したエクセルファイルのコマンドボタンを押しても、3の処理を実行しません。
試しに、エクセルVBAにて3の内容をSheet1へコピペしたところ上手くいきましがVBからSheet1のVBAへ書く方法がわかりませんでした。

-----------------------------------------------------------------------------------
Re^3: VBからエクセルVBAを登録 - 花ちゃん  2005/08/29-19:54 No.4249
-----------------------------------------------------------------------------------
> VBAのコードを見直してみたところ、1行目が
>     xlCode.InsertLines 1, "Private Sub CommandButton1_Click()" & vbCrLf _
> と「Private」となっていたので
>     xlCode.InsertLines 1, "Public Sub CommandButton1_Click()" & vbCrLf _
> と「Public」に変更したらできました。


それも、どうかと思います。 下記参照願います。
CommandButton1 のイベントの処理に関しては Sheet 等に書いた方がいいのでは。
マクロ等は、標準モジュールに書いて。
http://hanatyan.sakura.ne.jp/logbbs1/wforum.cgi?mode=allread&no=3815

Set xlMod = xlVBE.VBProjects(1).VBComponents("Sheet1")
Set xlCode = xlMod.CodeModule
'CommandButton1_Click() イベントとそのコードを記入
xlCode.InsertLines 2, "Private Sub CommandButton1_Click()" & vbCrLf _
                   & "    Call Test()" & vbCrLf _
                   & "End Sub"




 [スレッド一覧へ] [親スレッドへ]