我试图从外部工作簿中复制数据,名称分别为Field_1,Field_2,...,直到Field_10,而无需先打开它们。我想将这些数据添加到工作表2中,直到我主要工作簿的工作表11。我已经有了成功添加新空页并将其重命名为Field_1的代码(即Sheet2变为Field_1)。我遇到的问题是将数据复制到每个工作表中。使用VBA将数据添加到连续的Excel表格中
到目前为止,我已经成功地编写了检索数据的代码,并且我可以将所有数据粘贴到Sheet2中(如星号第一行下面的代码所示),但数据在每个数据上彼此重叠循环。 Chaning sheetID
每个循环都不会将任何内容粘贴到任何单元格中。我已经包含了我的整个代码。重要部分包含在星号中。
Sub ADDCLM7()
On Error Resume Next
Dim Dept_Row As Long
Dim Dept_Clm As Long
Dim Lookup_Row As Long
Dim Lookup_Clm As Long
Dim wbPath As String, wbName As String
Dim wsName As String, cellRef As String
Dim Ret As String
Dim FilePath$, Row&, Column&, Address$
Range("AA2").Activate
i = 1
While i < 11
Table1 = Sheet1.Range("AB2:AB28471")
fileTitle = "Field_"
fileTitle = fileTitle & CStr(i) & ".xls"
SheetName = "Sheet1"
NumRows = 77
NumColumns = 2
FilePath = ActiveWorkbook.Path & "\"
DoEvents
Application.ScreenUpdating = False
If Dir(FilePath & fileTitle) = Empty Then
MsgBox "The file " & fileTitle & " was not found", , "File Doesn't Exist"
Exit Sub
End If
For Row = 1 To NumRows
For Column = 1 To NumColumns
Address = Cells(Row, Column).Address
'*************************************************************************************************
Sheet2.Cells(Row, Column) = GetData(FilePath, fileTitle, SheetName, Address) ' THIS ONLY PASTES INTO SHEET2
'sheetID = "Sheet"
'sheetID = sheetID & CStr(i)
'sheetID.Cells(Row, Column) = GetData(FilePath, fileTitle, SheetName, Address) ' THIS DOESNT PASTE ANYTHING
'*************************************************************************************************
Next Column
Next Row
ActiveWindow.DisplayZeros = False
Table2 = Sheet2.Range("A2:B77")
Dept_Row = Sheet1.Range("AB2").Row
Dept_Clm = Sheet1.Range("AB2").Column
Lookup_Row = Sheet1.Range("AA2").Row
Lookup_Clm = Sheet1.Range("AA2").Column
i = i + 1
For Each cl In Table1
lookupCode = Sheet1.Cells(Lookup_Row, Lookup_Clm).Value
Sheet1.Cells(Dept_Row, Dept_Clm) = Application.WorksheetFunction.VLookup(lookupCode, Table2, 2, False)
Dept_Row = Dept_Row + 1
Lookup_Row = Lookup_Row + 1
Next cl
Wend
End Sub
任何帮助,非常感谢。
您是否尝试过使用工作表的索引?就像表格(1)或表格(2)或在您的案例表格(i + 1)中,如果i = 1开头,并且您希望工作表2中的数据。 – Alex4336