他のブックからデータをマスターブックに抽出しようとしました。これらのブックはすべて1つのフォルダに保存されていました。そして、手動ではなく他のワークブックを自動的に開こうと思っていました。抽出する必要があるデータは隣接していないセルであり、各ソースブックから抽出したデータをマスターワークブックの行に表示する必要があります(行1に見出しがあるため、最初のブックからデータを抽出した後行2に貼り付けると、2番目のワークブックから抽出されたデータが3行目などに表示されます)転置を使用して固まった
しかし、マクロを実行すると、私はTransposeに固執しました。以下は
私のコードは、私がこれまで行ってきた何
Sub LoopThroughDirectory()
Dim MyFile As String
Dim wkbSource As Workbook
Dim wkbTarget As Workbook
Dim erow As Single
Dim Filepath As String
Dim copyRange As Range
Dim cel As Range
Dim pasteRange As Range
Filepath = "C:\xxxxx\"
MyFile = Dir(Filepath)
Do While Len(MyFile) > 0
If MyFile = "Import Info.xlsm" Then GoTo NextFile
Set wkbTarget = Workbooks("Import Info.xlsm")
Set wkbSource = Workbooks.Open(Filepath & MyFile)
Set copyRange = wkbSource.Sheets("sheet1").Range("c3,f6,f9,f12,f15,f19,f21,f27,f30,f33,f37,f41")
Set pasteRange = wkbTarget.Sheets("sheet1").Range("a1")
For Each cel In copyRange
cel.Copy
ecolumn = wkbTarget.Sheets(1).Cells(1, Columns.Count).End(xlToLeft).Offset(0, 1).Column
wkbTarget.Worksheets("Sheet1").Paste Destination:=wkbTarget.Worksheets("Sheet1").Range(Cells(1, ecolumn).Address)
pasteRange.Cells(1, ecolumn).PasteSpecial xlPasteValues
Next
Application.CutCopyMode = False
wkbSource.Close
NextFile:
MyFile = Dir
Loop
End Sub
です:
- を私はソースワークブックから抽出したデータを転置が、彼らは私が期待したものとして、マスターワークブックに示されていませんでした。それらのすべてが1列目にあります
- VBAでの経験はあまりなく、隣接しないセルをコピーして、マスターワークブック内で転置したコードがループをはるかに複雑にしているように感じます。しかし、私はどこが間違っているのか、それをどう解決するのか分かりません。
私を助けてください。どうもありがとうございます!
あなたのpasterangeで 'row'引数をインクリメントすることはありません。各ワークシートの情報を自分の行に入れたい場合は、新しいファイルを読み込むたびに 'row'引数をインクリメントする必要があります。 –