
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【教えて!goo ウォッチ 人気記事】風水師直伝!住まいに幸運を呼び込む三つのポイント
記事を読む>>
-
【ExcelVBA】sheet作成時にマクロを埋め込みたい
その他(Microsoft Office)
-
マクロをマクロを使ってコピーしたい
その他(Microsoft Office)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
-
4
エクセルのvbaにて thisworkbookに記載のマクロを他のブックにマクロにて自動コピー出来る
Excel(エクセル)
-
5
標準モジュール、フォームを別のブックにコピーするには?
Excel(エクセル)
-
6
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
7
エクセルVBAで新規シートにマクロなどのボタンを配置する方法
Visual Basic(VBA)
-
8
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
9
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
10
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
11
ExcelVBAで、ユーザーフォームを新規Bookにコピーしたい
IT・エンジニアリング
-
12
エクセルVBAのフォームを最前面にする方法を教えてください。
Visual Basic(VBA)
-
13
IF関数で空欄(")の時、Nullにしたい
その他(Microsoft Office)
-
14
VBA シートをコピー後、ボタンにマクロ登録
Excel(エクセル)
-
15
EXCELのボタンによるマクロの登録名にファイル名が入ってしまう
PowerPoint(パワーポイント)
-
16
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
-
17
【Excel VBA】指定行以降をクリアするには?
Visual Basic(VBA)
-
18
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
19
VBA This Workbookモジュールを別ファイルにコピーする方法
Visual Basic(VBA)
-
20
Vba Userformを前面に出すについて
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
【Excel VBA】マクロでExcel自...
-
【Excel】特定セルの内容をテキ...
-
EXcelのマクロで相対パスでファ...
-
同一フォルダ内のファイルを開く
-
エクセル;相対パスを絶対パスへ...
-
複数のExcelファイルの印刷設定...
-
複数のbookから特定のセル(行...
-
エクセルを開いて文字を打つ際...
-
EXCELマクロで、開いてはいるが...
-
excelで直前に参照していたブッ...
-
【Excel】マクロの保存先について
-
名前の変わるブックをアクティ...
-
EXCELのボタンによるマクロの登...
-
マクロの保存先、開いてるすべ...
-
1つのEXCELファイルをインター...
-
ファイル名変更後も、マクロを...
-
EXCELブックが勝手に開いて困っ...
-
エクセルVBAで作成した別ブック...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
【Excel VBA】マクロでExcel自...
-
EXcelのマクロで相対パスでファ...
-
複数のExcelファイルの印刷設定...
-
エクセル;相対パスを絶対パスへ...
-
【Excel】マクロの保存先について
-
マクロの保存先、開いてるすべ...
-
excelで直前に参照していたブッ...
-
エクセルデータを別のエクセル...
-
複数のExcelブックから特定シー...
-
エクセルVBAで作成した別ブック...
-
【Excel】特定セルの内容をテキ...
-
ファイル名変更後も、マクロを...
-
【関数】【マクロ】データの転...
-
EXCELマクロで、開いてはいるが...
-
EXCELのボタンによるマクロの登...
-
エクセルVBA 個人用マクロブッ...
-
個人用マクロブックが消えました
-
名前の変わるブックをアクティ...
おすすめ情報