複数のデータベース(テーブル)を別々のブックで使用しており、各テーブルごとに複数の特定の列を1つのシートにコピーする必要があります。また、各列は、受信者/マスターワークシートの特定の列に貼り付ける必要があります。私はマクロで新しいので、私は自分のコードをステップバイステップで書いています。知っている限り、私はコードを1つのテーブルの列をコピーして、マスターテーブルに貼り付けます。しかし、列は3回、前の列の下の同じ列にコピーされています。なぜかわかりません。私は一度、一度コピーされた列を必要とします。ループコピーからコピー貼り付けの列を複数回コピーする
次は、私はあなたのファイルの構造や内容を知らないコード
Dim f As Range, WB As Workbook
Dim arrSht, Arrcol As Variant, j As Long
arrSht = Array("a","b","c")
Arrcol = Array(5, 6, 8)
Set WB = Workbooks.Open(Filename:= _
"C:\Users\gustavo\Documents\Minambiente\TUA\2015\CARDER\CARDER.xls")
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
For j = LBound(arrSht) To UBound(arrSht)
Set f = WB.Sheets(1).Cells.Find(arrSht(j), searchorder:=xlByRows, LookAt:=xlPart)
If Not f Is Nothing Then
WB.Sheets(1).Range(f.Offset(1, 0), Sheets(1).Cells(Rows.Count, f.Column).End(xlUp)).Copy
ThisWorkbook.Sheets(1).Cells(Rows.Count, Arrcol(j)).End(xlUp).Offset(1, 0).PasteSpecial
Else
MsgBox arrSht(j) & "Header not found!"
End If
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
Next j
ありがとう!私はもう一度チェックし、それは初心者の間違いだった。私はコードを3回実行しました:P –