2016-12-12 8 views
1

私はVBAで最大ではないので、何年も触れていないので、私はチュートリアルに頼っています。 (!完了):私は次の順序で、しようとしている長期的に VBA - あるブックから別のブックへ情報を引き出す

  • [開く]ボタンを介して1つのExcelドキュメントでエクスプローラウィンドウ
  • は、Excelのドキュメントを選択するには、(うまくいけば、選択しました長期的には、複数のドキュメント)、元のExcelブックにかかわらず、シートの特定の行/列から
  • プル情報

これまでのところ私は/精練みじん切りと変更し、次の(感謝気象庁を見つけました私にはXこのサイト上の)

Sub test() 
    Dim wb As Workbook, wb2 As Workbook 
    Dim ws As Worksheet 
    Dim vFile As Variant 

    'Set source workbook 
    Set wb = ActiveWorkbook 
    'Open the target workbook 
    vFile = Application.GetOpenFilename("Excel-files,*.xls", _ 
     1, "Select One File To Open", , False) 
    'if the user didn't select a file, exit sub 
    If TypeName(vFile) = "Boolean" Then Exit Sub 
    Workbooks.Open vFile 
    'Set targetworkbook 
    Set wb2 = ActiveWorkbook 

    'For instance, copy data from a range in the first workbook to another range in the other workbook 
    wb2.Worksheets("Sheet1").Range("C3:D4").Value = wb.Worksheets("Sheet3").Range("A1:B2").Value 
End Sub 

それはそれは下付き範囲外」というメッセージとともに戻ってくるのExcelドキュメントを開いたときに、これはしかし、順番に見えます。

私は何が欠けていますか?細胞と命名は:(私には正しいようです。

おかげで、

デイブ

+0

マクロレコーダーを使用し、それが生成するコードを見てください。どういたしまして。 ;) – nicomp

答えて

0

ワークシート名は、ワークシートのコレクションの上に存在しないため、エラーがスローされているが。

wb2.Worksheets( "シート1")

ワークシート( "シート3")


enter image description here

関連する問題