同じExcelファイル内に2つのデータシートがあります.シート1は7列の「データ」として:
2 番目のシートは「メイン」で、5 つの列があります。
2 つのファイルに一致する同じ列は「名前」です。両方のシートの名前に一致するVBAコードが必要で、両方のシートの列名を一致させることにより、シート「メイン」からシート「データ」にproc1 - Proc4からデータをコピーします。
同様の質問についてスタックオーバーフローを検索しましたが、見つけたコードは次のとおりです(少し変更しました):
Sub CopyData()
Dim shtImport As Worksheet
Dim shtMain As Worksheet
Set shtImport = ThisWorkbook.Sheets("Data")
Set shtMain = ThisWorkbook.Sheets("Main")
Dim CopyColumn As Long
Dim CopyRow As Long
Dim LastColumn As Long
'- for each column in row 1 of import sheet
For CopyColumn = 1 To shtImport.Cells(1, shtImport.Columns.Count).End(xlToRight).Column
'- check what the last column is with data in column
LastRowOfColumn = shtImport.Cells(shtImport.Columns.Count, CopyColumn).End(xlToRight).Column
'if last column was larger than one then we will loop through rows and copy
If LastColumn > 1 Then
For CopyRow = 1 To LastColumn
'- note we are copying to the corresponding cell address, this can be modified.
shtMain.Cells(CopyRow, CopyColumn).value = shtImport.Cells(CopyRow, CopyColumn).value
Next CopyRow
End If
Next CopyColumn
End Sub
これは、私が望むように機能していません。誰かがこの問題を手伝ってくれませんか。どうもありがとう!