所以我有一个包含大约 500 个工作表的工作簿,我需要将每个工作表中的单元格(例如 A1)的值更改为另一个工作簿中某个范围内的值。
例如,
Workbook1中Sheet1中A1的值=Workbook2中Sheet1中A1
Workbook1中Sheet2中A1的值=Workbook2中Sheet1中A2
Workbook1中Sheet3中A1的值=Workbook2中Sheet1中A3
等等
我一直在尝试更改和使用以下内容,但一无所获,任何帮助将不胜感激。 谢谢
Sub mycode()
For Each Worksheet InThisWorkbook.Sheets
Range(“A1″) = “Exceltip”
Next
End Sub
最佳答案
试试这个:
- 打开目标工作簿并将对该工作簿的引用存储在变量中
- 使用
For
循环遍历当前工作簿中的工作表 - 使用这个新变量名称和
ThisWorkbook
来完全限定您的引用,以区分不同工作簿上的范围。
Sub TransferValues()
Dim workbook2 As Workbook
Dim i As Long
Set workbook2 = Workbooks.Open("C://My Documents/.../SomeWorkbook2.xlsx")
For i = 1 To ThisWorkbook.Worksheets.Count
ThisWorkbook.Worksheets(i).Range("A1").Value = workbook2.Worksheets("Sheet1").Range("A1").Offset(i - 1, 0).Value
Next i
workbook2.Close SaveChanges:=False
End Sub
关于vba - 从另一个工作簿中的范围更改多个工作表中单元格的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48783497/