vba - 从另一个工作簿中的范围更改多个工作表中单元格的值

标签 vba excel

所以我有一个包含大约 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

最佳答案

试试这个:

  1. 打开目标工作簿并将对该工作簿的引用存储在变量中
  2. 使用 For 循环遍历当前工作簿中的工作表
  3. 使用这个新变量名称和 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/

相关文章:

vba - 输入超过文件VBA excel的结尾

excel - 我们可以在 VBA 中使用条件编译来在函数内声明变量吗?

excel - 错误处理减法涉及字符串和数字

python - 检查Excel文件是否包含公式

vba - 将文本转换为数字

excel - 将 cfdocument 保存为 Excel 文件

excel - 使用 VBA 循环遍历工作簿中的所有图表

excel - 在工作簿的所有工作表中查找特定的列标题

c# - 将值从标签放入 excel 列的简短或简单的解决方案

vba - 具有无限参数的 UDF