幼稚園時代「何組」でしたか?

VBAについて質問です。

現在、ExcelにてWorkbookを自動で作成するモジュールを作成しています。

モジュールを記載しているWorkbookを [wbSorce]
自動で作成されるWorkbookを [wbNew] とします。

[wbSorce] でモジュールを実行すると、 [wbNew] を新規に作成し、
データを入力して保存するのですが、保存する際に
[wbNew] のイベントハンドラ [Workbook_Open] に
保存された [wbNew] を開いた時の挙動を記載するには
どうすればよいでしょうか?

サンプルは下記になります。

****[wbSorce]のモジュール****
Sub wbNew_Sakusei()
  Dim wb As Workbook
  Dim wb2 As Workbook
  Dim i As Integer

  Set wb = ThisWorkbook
  Set wb2 = Workbooks.Add

  For i = 1 To 5
    wb2.Sheets(1).Cells(1, i) = wb.Sheets(1).Cells(1, i)
  Next

  wb2.SaveAs Filename:="wbNew"
End Sub


****[wbNew]に記述したいモジュール****
Private Sub Workbook_Open()
  ActiveWindow.ScrollRow = 1
  MsgBox "Workbook_Openイベントが発生しました。"
End Sub

A 回答 (1件)

"C:\temp\Macro.txt"に、****[wbNew]に記述したいモジュール****の内容を記述しておいてください。



Sub wbNew_Sakusei()
Dim wb As Workbook
Dim wb2 As Workbook
Dim i As Integer

Set wb = ThisWorkbook
Set wb2 = Workbooks.Add

For i = 1 To 5
wb2.Sheets(1).Cells(1, i) = wb.Sheets(1).Cells(1, i)
Next
With wb2.VBProject
.VBComponents("ThisWorkbook").CodeModule.AddFromFile "C:\temp\Macro.txt"
End With

wb2.SaveAs Filename:="wbNew"
End Sub
    • good
    • 0
この回答へのお礼

ご記入頂いたソースで実行、無事期待通りの結果が出力されました。

後学の為、頂いたソースで検索して処理も理解出来ました。
なるほど!と目からウロコがこぼれた気分です。

本当にありがとうございました。

お礼日時:2010/06/25 18:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!