
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も見ています
-
エクセルのvbaにて thisworkbookに記載のマクロを他のブックにマクロにて自動コピー出来る
Excel(エクセル)
-
【ExcelVBA】sheet作成時にマクロを埋め込みたい
その他(Microsoft Office)
-
VBA This Workbookモジュールを別ファイルにコピーする方法
Visual Basic(VBA)
-
-
4
エクセルのVBAで新しくブックを開いた上でさらに…
Excel(エクセル)
-
5
マクロをマクロを使ってコピーしたい
その他(Microsoft Office)
-
6
UserForm1.Showでエラーになります。
工学
-
7
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
8
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
9
Offsetで可視セルだけを移動したい。
Excel(エクセル)
-
10
【sendkeysメソッドが動かずに苦慮しております】
Visual Basic(VBA)
-
11
リンク先のファイルを開かなくても、値が読み込めるようにできますか?(SUMIFSを使ってます)
Excel(エクセル)
-
12
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
13
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
14
VBAでの結合セルのコピー&ペースト
Excel(エクセル)
-
15
Excel VBAで、ユーザーフォームの値を、モジュールで使用したい。
Visual Basic(VBA)
-
16
【Excel】 セルの色での判断はできますか?
Excel(エクセル)
-
17
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
18
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
19
ユーザーフォームで動的(Me.Controls.Add)に作成したコントロールの削除
Visual Basic(VBA)
-
20
エクセルVBA 罫線 処理時間短縮
Word(ワード)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
【Excel VBA】マクロでExcel自...
-
エクセルのvbaにて thisworkboo...
-
EXCELマクロで、開いてはいるが...
-
マクロの保存先、開いてるすべ...
-
EXcelのマクロで相対パスでファ...
-
名前の変わるブックをアクティ...
-
エクセルVBA 個人用マクロブッ...
-
エクセル;相対パスを絶対パスへ...
-
エクセルで使用期限付きのブッ...
-
エクセルで未保存に対するメッ...
-
エクセルを開いて文字を打つ際...
-
エクセルVBAで作成した別ブック...
-
EXCELのボタンによるマクロの登...
-
【Excel】マクロの保存先について
-
【Excel】特定セルの内容をテキ...
-
Mac版 マクロの完全削除方法
-
excelで直前に参照していたブッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
VBAで保存しないで閉じると空の...
-
【Excel VBA】マクロでExcel自...
-
エクセル関数>参照ファイル名...
-
マクロの保存先、開いてるすべ...
-
エクセルのvbaにて thisworkboo...
-
エクセル;相対パスを絶対パスへ...
-
【Excel】マクロの保存先について
-
EXcelのマクロで相対パスでファ...
-
エクセルで未保存に対するメッ...
-
EXCELマクロで、開いてはいるが...
-
excelで直前に参照していたブッ...
-
エクセルを開いて文字を打つ際...
-
エクセルで使用期限付きのブッ...
-
EXCELのボタンによるマクロの登...
-
[フィルターオプションの設定]...
-
EXCELブックが勝手に開いて困っ...
-
【Excel】特定セルの内容をテキ...
-
エクセルVBA 個人用マクロブッ...
-
名前の変わるブックをアクティ...
おすすめ情報