【发布时间】:2021-01-30 19:09:53
【问题描述】:
我正在尝试从多个工作簿中提取数据,并将数据合并到一个数据集中。
我开始从其中提取数据,它运行良好。 当我尝试添加第二个工作簿时,它正在提取数据,但只是覆盖了第一组数据。
我最终会对位于不同文件路径而不是同一文件夹中的文件执行 6 次不同的操作。
每个工作簿都有相同的命名选项卡,并且标题完全相同。
A1:AA1 是标题。 - 源文件和主文件完全相同。
我正在尝试提取数据并粘贴到主工作表的标题下方,并在我从每个工作簿中提取数据时继续粘贴。
我正在寻找一种解决方案,将“31”更改为粘贴到下一个未使用的行,因为在源文件中输入数据时,31 会发生变化。
wbPrior2.Sheets("wsPrior2").Range("A2:AA" & Prior2LastRow).copy Destination:=ThisWorkbook.Sheets("wsCurrent").Cells(31, 1)
Option Explicit
Sub RectangleRoundedCorners3_Click()
' clear current data
Sheets("wsCurrent").Rows("2:" & Sheets("wsCurrent").Rows.Count).ClearContents
' open First File to Combine
Dim fileNameFullPath As String
fileNameFullPath = "C:\Filelocationpath\wbPrior.xlsx"
Workbooks.Open Filename:=fileNameFullPath, ReadOnly:=True
' ----- copy file. after opening workbook, it becomes an active workbook
Dim wbPrior As Workbook
Set wbPrior = ActiveWorkbook
' --- get LastRow
Dim PriorLastRow As Integer
' -- wsPrior
PriorLastRow = wbPrior.Sheets("wsPrior").Cells(Rows.Count, 1).End(xlUp).Row
' --- copy wsPrior to wsCurrent
wbPrior.Sheets("wsPrior").Range("A2:AA" & PriorLastRow).copy Destination:=ThisWorkbook.Sheets("wsCurrent").Cells(2, 1)
' --- close wbPrior
wbPrior.Close
'Second Source File Data Pull
' --- open "wbPrior2.xlsx"
Dim fileNameFullPath2 As String
fileNameFullPath2 = "C:\Filelocationpath2\wbPrior2.xlsx"
Workbooks.Open Filename:=fileNameFullPath2, ReadOnly:=True
' ----- copy file. after opening workbook, it becomes an active workbook
Dim wbPrior2 As Workbook
Set wbPrior2 = ActiveWorkbook
' --- get LastRow
Dim Prior2LastRow As Integer
' -- wsPrior2
Prior2LastRow = wbPrior2.Sheets("wsPrior2").Cells(Rows.Count, 1).End(xlUp).Row
' --- copy wsPrior to wsCurrent
wbPrior2.Sheets("wsPrior2").Range("A2:AA" & Prior2LastRow).copy Destination:=ThisWorkbook.Sheets("wsCurrent").Cells(31, 1)
' --- close wbPrior
wbPrior2.Close
End Sub
【问题讨论】: