VBAで別ファイルの作成は下記で出来ているのですが、出来上がったファイルにVBAを記述する方法がわかりません。
具体的には一番下のSub TEST()を新しいブックの標準モジュールに記述したいのと、sheet1に
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox "ChangeTEST"
End Sub
を入れたいです。
また
Private Sub Workbook_Open()
MsgBox "OpenTEST"
End Sub
も入れたいのです。
どうぞご教示ください。
Sub 複製()
Dim wb As Workbook, sc As Integer
sc = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = 1
Set wb = Workbooks.Add
Application.SheetsInNewWorkbook = sc
wb.Sheets("Sheet1").Select
ThisWorkbook.Sheets("Sheet1").Cells.Copy
wb.Sheets("Sheet1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
ActiveSheet.Buttons.Add(123, 195, 68.25, 15).Select
Selection.OnAction = "TEST"
Selection.Characters.Text = "TEST"
ActiveWorkbook.Close
ThisWorkbook.Activate
Sheets("Sheet1").Select
End Sub
Sub TEST()
MsgBox "TEST!!"
End Sub
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
わたしも前前からやってみたいと思っていたので、ネットを検索して調べてみました。
こんな感じで出来るようです。
'マクロ挿入
With wb.VBProject.VBComponents.Item("ThisWorkbook").CodeModule
.InsertLines 1, "Private Sub Workbook_Open()"
.InsertLines 2, ""
.InsertLines 3, " Msgbox""ブックが開かれましたよ!"""
.InsertLines 4, ""
.InsertLines 5, "End Sub"
End With
With wb.VBProject.VBComponents.Item("Sheet1").CodeModule
.InsertLines 1, "Private Sub Worksheet_Change(ByVal Target As Range)"
.InsertLines 2, ""
.InsertLines 3, " MsgBox ""セルの値が変更されましたよ!"""
.InsertLines 4, ""
.InsertLines 5, "End Sub"
End With
wb.VBProject.VBComponents.Add (1) 'Module1挿入
With wb.VBProject.VBComponents.Item("Module1").CodeModule
.InsertLines 1, "Sub TEST()"
.InsertLines 2, ""
.InsertLines 3, " Msgbox""TESTしたよ!"""
.InsertLines 4, ""
.InsertLines 5, "End Sub"
End With
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) マクロを短くする 1 2023/01/15 00:11
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
【ExcelVBA】sheet作成時にマクロを埋め込みたい
その他(Microsoft Office)
-
エクセルのvbaにて thisworkbookに記載のマクロを他のブックにマクロにて自動コピー出来る
Excel(エクセル)
-
マクロをマクロを使ってコピーしたい
その他(Microsoft Office)
-
-
4
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
ExcelVBAで、ユーザーフォームを新規Bookにコピーしたい
IT・エンジニアリング
-
7
VBA This Workbookモジュールを別ファイルにコピーする方法
Visual Basic(VBA)
-
8
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
9
標準モジュール、フォームを別のブックにコピーするには?
Excel(エクセル)
-
10
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
11
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
12
VBA シートをコピー後、ボタンにマクロ登録
Excel(エクセル)
-
13
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
14
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
15
エクセルマクロで、別のブックが開いているかを判定したいのですが。
その他(Microsoft Office)
-
16
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
17
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
18
エクセルのVBAで新しくブックを開いた上でさらに…
Excel(エクセル)
-
19
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
20
エクセルVBAで新規シートにマクロなどのボタンを配置する方法
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
マクロの保存先、開いてるすべ...
-
【Excel VBA】マクロでExcel自...
-
エクセルで未保存に対するメッ...
-
エクセルVBAで作成した別ブック...
-
【Excel】特定セルの内容をテキ...
-
EXCELのボタンによるマクロの登...
-
【Excel】マクロの保存先について
-
複数のExcelファイルの印刷設定...
-
名前の変わるブックをアクティ...
-
エクセル;相対パスを絶対パスへ...
-
エクセルで複数ファイルのセル...
-
個人用マクロブックが消えました
-
エクセルVBA 個人用マクロブッ...
-
EXcelのマクロで相対パスでファ...
-
複数のExcelブックから特定シー...
-
エクセルのマクロについて教え...
-
エクセル タスクスケジューラ...
-
マクロ 自動でパスワード及び指...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
マクロの保存先、開いてるすべ...
-
【Excel VBA】マクロでExcel自...
-
【Excel】マクロの保存先について
-
複数のExcelファイルの印刷設定...
-
エクセル;相対パスを絶対パスへ...
-
excelで直前に参照していたブッ...
-
EXcelのマクロで相対パスでファ...
-
エクセルVBAで作成した別ブック...
-
エクセルで未保存に対するメッ...
-
EXCELブックが勝手に開いて困っ...
-
EXCELのボタンによるマクロの登...
-
エクセルのvbaにて thisworkboo...
-
EXCELマクロで、開いてはいるが...
-
名前の変わるブックをアクティ...
-
[フィルターオプションの設定]...
-
エクセルVBA 個人用マクロブッ...
-
ファイル名変更後も、マクロを...
-
個人用マクロブックが消えました
おすすめ情報