- 日時: 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"
|