【发布时间】:2014-05-04 11:07:10
【问题描述】:
我有两本工作簿。第一个工作簿(69 个工作表)具有旧数据,第二个工作簿具有 Workbook1 的某些工作表(42 个工作表)的新数据。第一个工作簿中只有前三列需要更新。所以我想创建一个宏,通过 Workbook1 从工作表 1 到所有工作表运行一个循环,在 Workbook 2 中找到相同的工作表名称并复制前三列并在 Workbook1 中更新它们。有人可以帮我吗。我创建了以下代码,显然不起作用!
Sub Macro1()
Dim i As Integer
Dim x As Integer
Dim wb2 As Excel.Workbook
Dim rngToCopy As Range
Dim rngToPaste As Range
Set wb2 = Workbooks.Open("D:\Sediment extraction\Analysis\updatedextractedresults_45.xls")
j = ThisWorkbook.Worksheets.Count
k = wb2.Worksheets.Count
For i = 1 To j
For x = 1 To k
If ThisWorkbook.Sheets(i).Name = wb2.Sheets(x).Name Then
wb2.Sheets(x).Activate
Set rngToCopy = ThisWorkbook.Sheets(x).Range("A1",ThisWorkbook.Sheets(x).Range("A65536").End(xlUp)).Resize(, 3)
'With rngToCopy
Set rngToPaste = ThisWorkbook.Sheets(i).Range("A1").Resize(.Rows.Count, .Columns.Count)
End With
'rngToPaste.Value = rngToCopy.Value
End If
Next x
Next i
End Sub
【问题讨论】:
-
很高兴听到它震动了!请在您有时间的时候将答案标记为已接受 - 这是一个示例:i.stack.imgur.com/uqJeW.png