dポイントプレゼントキャンペーン実施中!

(1) Private Sub Workbook_Open()に、マクロの記録で作成した(2)を組み込んで処理をしたいのですが、一つ前のファイルを選択する記述・一つ前のシートを指定する記述が判りません。

●御教示いただきたい事項

・(1)で開かれた時、ファイルはマスター.xls が開いていますが、 ファイル名 ccc.xlsが開いた状態にする記述のしかた。
   
・(2)が各シートで実行される、共通の記述のしかた。

(1) Private Sub Workbook_Open()
Workbooks.Open Filename:="C:\Documents and Settings\aaa\My Documents\bbbマスター\マスター.xls"
End Sub

(2)  ファイル名 ccc.xlsにマクロの記録で作成
Sub Macro4()    
Range("J11").Select     'Sheets("7月")のセル J11
Sheets("6月").Select
 Range("I7").Select
Selection.Copy
Sheets("7月").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

A 回答 (1件)

質問がわかりにくいですね。

特に「一つ前」のような表現はご自身は分かっても、第三者にはわかりにくいです。

ようは「ccc.xls」の「Private Sub Workbook_Open()」で「マスター.xls」を開いたあとで「ccc.xls」がアクティブな状態に戻したいということでしょうか。

「ccc.xls」で
Private Sub Workbook_Open()
Dim myBK as Workbook
 Set myBK = ThisWorkbook 'このブックを待避
 Workbooks.Open Filename:="C:\Documents and Settings\aaa\My Documents\bbbマスター\マスター.xls"
 myBK.Activate '待避したブックをアクティブにする
 Sheets("7月").Select
' (2)の処理を埋め込む。(下の2行で動くはずですが)
 Sheets("6月").Range("I7").Copy
 Range("J11").PasteSpecial Paste:=xlPasteValues 
 Application.CutCopyMode = False 'コピーモードをキャンセル
End Sub
    • good
    • 0
この回答へのお礼

zap35様

御指導ありがとうございました。

>質問がわかりにくいですね。特に「一つ前」のような表現は・・・

●申し訳御座いません。

ご推察いただき適切な回答ありがとうございました。

お礼日時:2008/02/28 09:31

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