VBA更改另一个工作簿中的值

我需要一些帮助改变另一个工作簿中的variables。

首先,我用Workbooks.Open ("test.xlsx")打开工作Workbooks.Open ("test.xlsx")

当我尝试用Workbooks("test.xlsx").Worksheets("Sheet").Cells(1, 1).Value = VariableX更改单元格值时,出现错误9:下标超出范围。 我不明白为什么它不会工作。 任何人都可以帮我解决这个问题吗?

Workbooks.open返回一个工作簿对象。 使用它来引用您想要操作的工作簿:

 dim wb as Workbook set wb = Workbooks.Open("test.xlsx") wb.Worksheets("Sheet").Cells(1,1).Value = variableX ' Close the workbook afterwards and save the changes wb.Close True 

一旦你Open编辑工作簿,它是Active 。 这是一个小例子:

 Sub Macro2() Dim VariableX As Long VariableX = 123 Workbooks.Open Filename:="C:\TestFolder\Book1.xlsx" Worksheets("Sheet1").Cells(1, 1).Value = VariableX ActiveWorkbook.Save ActiveWorkbook.Close End Sub