私はこのコードを使用して開いた3つのExcelファイルを開いています。一致する列の下で可変量のファイルをマージする
Dim myWorkbooks As New Collection
Sub GetFile()
Dim fNameAndPath As Variant, i As Long, x As Variant
fNameAndPath = Application.GetOpenFilename("All Files (*.*), *.*", , "Select Files To Be Opened", , True)
If Not IsArray(fNameAndPath) Then
If fNameAndPath = False Then Exit Sub Else fNameAndPath = Array (fNameAndPath)
End If
For i = LBound(fNameAndPath) To UBound(fNameAndPath)
Set x = Workbooks.Open(fNameAndPath(i))
myWorkbooks.Add x
Next
End Sub
私は1つのワークブックに必要なすべてのシートをマージしました。このワークブックには「KomKo」というマスターシートがあります。そして私は "データ(2)"、 "データ(3)"および "データ(4)"である他のシートを持っています。これらのシートは4以上になるので、シートは「データ(11)」と呼ばれることがあります。私はすべての "データ"シートの列Cをコピーして "KomKo"シートの列Aに貼り付けたいと思っています。これらの値をその列Aの次の空の値に貼り付けることができるはずです。
どうすればいいですか?
それぞれのwbについてmyWorkbooksでは---->これはmyWorkbooksが空であるためエラーです。どうすればこの問題を解決できますか? –
これはMyWorkbooks.add Xの後に使用する必要があります。それ以外の場合は空です – gizlmo
私はそれを削除しましたが、それでも - > wb.Sheets( "sheet1")でエラーが発生しました。 ).EntireColumn.Copy mastersheet.Sheets( "sheet1")。範囲( "A1")。PasteSpecial –