2017-04-12 26 views
0

2つのワークブックがあり、最初はclasseur1と呼ばれ、2つ目はclasseur2と呼ばれます。VBA 1つのブックから別のブックに値をコピー/ペーストする

Sheet1(Workbook1)からSheet2(Workbook2)のテーブルから結合された行をコピー/貼り付けできません。

私はそれを行う方法を知っています。

実際、私は試みましたが結果はありませんでした。ここに私のコードはあります:

+1

問題は完全なワークブック名​​/パスではありません。コンパイラは、ワークブックを提供する際の情報をほとんど提供しない場合、ワークブックを区別する方法を知らない。数日前から私のこの答えをチェックしてください - それは、複数のワークブックを扱う方法を詳述しています。 http://stackoverflow.com/questions/43287385/how-to-aggregate-compile-multiple-excel-spreasheets-csv-into-separate-sheets/43287810#43287810 –

答えて

1

あなたの範囲の1つはD1で始まり、もう1つはA2で始まりますが、どちらもfinalRowに行きます。これにより、サイズの範囲が異なります。実際に行番号をfinalRowに割り当てたと仮定しますが、使用しません。

Option Explicit 

Sub test() 
    With Workbooks("Classeur2").Worksheets("Feuil2") 
     With .Range(.Cells(2, "A"), .Cells(.Rows.Count, "A").End(xlUp)) 
      Workbooks("Classeur1").Worksheets("Feuil1").Range("D1").Resize(.Rows.Count, .Columns.Count) = .Value 
     End With 
    End With 
End Sub 
0

範囲を選択して[挿入] - [表 - >表]を選択すると、表の名前を定義できます。名前が "Table1"であるとしましょう。

Option Explicit 

Sub CopyTable() 
'Select the defined Table1 from classeur1 workbook and copy it to classeur2 starting at cell D1 

Workbooks("classeur1").Worksheets("Sheet1").Range("Table1[#All]").Copy _ 
    Workbooks("classeur2").Worksheets("Sheet1").Range("D1") 
End Sub 
関連する問題