| 
    
     |  | こんにちは。 そういうときはマクロの記録です。
 
 エクセルのブックを2つ開いておいて(できれば2つ同時に見える状態で)
 片方のブックで記録開始。
 「もう一方のブックを選択する」という操作を行って記録終了。
 
 記録されたマクロを見てみると
 Workbooks("もう一方").Activateとなっている(ハズ)。
 ほぉ〜.Activateかぁ、、、ということでコード修正 v(^^
 
 
 で。もし余裕があれば Activate をヘルプで引いてみる。
 (これは将来ヘルプが読めるようになるための準備運動)
 
 
 ▼はる さん:
 >vba初心者です。行き詰ってしまったので解決策をお願いします。。
 >マクロを起動するブックの"マクロセット"シートの
 >I4 =開くファイルのフォルダ名 L4 = ファイル名を入れています。
 >ファイルを開き、マクロブックのシート(5)を開いたブックのシート(1)に貼り付けて値化したいです。
 >Workbooks(WBK1).Select
 >で実行時エラー'438':オブジェクトは、このプロパティまたはメソッドをサポートしていません。
 >と出ます。どのように変更すれば動きますでしょうか・・・ご教授お願い致します。
 >
 >
 >'====================================
 >
 >  Sheets("マクロセット").Select
 >  Workbooks.Open Filename:=Range("I4").Value & Range("L4").Value
 >  ThisWorkbook.Activate
 >'変数定義=============================
 >  Dim WBK1 As String, WBK2 As String
 >  WBK1 = Range("L4").Value
 >  WBK2 = ThisWorkbook.Name
 >'初期化====================================
 >  Workbooks(WBK1).Select
 >  Worksheets(1).Cells.Clear
 >  Worksheets(2).Cells.Clear
 >  Worksheets(3).Cells.Clear
 >'貼り付け====================================
 >  Workbooks(WBK2).Worksheets(5).Range("A:S").Copy Workbooks(WBK1).Worksheets(1).Range("A1")
 >  Workbooks(WBK1).Worksheets(1).Cells.Value = Workbooks(WBK1).Worksheets(1).Cells.Value
 >  Workbooks(WBK2).Worksheets(6).Range("A:S").Copy Workbooks(WBK1).Worksheets(2).Range("A1")
 >  Workbooks(WBK1).Worksheets(2).Cells.Value = Workbooks(WBK1).Worksheets(2).Cells.Value
 >  Workbooks(WBK2).Worksheets(7).Range("A:S").Copy Workbooks(WBK1).Worksheets(3).Range("A1")
 >  Workbooks(WBK1).Worksheets(3).Cells.Value = Workbooks(WBK1).Worksheets(3).Cells.Value
 
 |  |