This question already has answers here:
Excel VBA, getting range from an inactive sheet

(3个答案)


3年前关闭。





我在A1中有一个字符串值。

为什么如果我运行以下代码,它会正确捕获值:

arrInputData(1, 1) = Worksheets("inputData").Range("A1")


但是,它有一点变化

arrInputData(1, 1) = Worksheets("inputData").Range(Cells(1, 1), Cells(1, 1))


引发以下错误:


运行时错误1004。应用程序定义或对象定义的错误


谢谢!

最佳答案

arrInputData(1, 1) = Worksheets("inputData").Range(Cells(1, 1), Cells(1, 1))

是一种较短的书写方式:

arrInputData(1, 1) = Worksheets("inputData").Range(ActiveSheet.Cells(1, 1), ActiveSheet.Cells(1, 1))

如果“ inputData”不是活动工作表,则会导致错误

关于vba - 如何使用具有范围的单元格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42214792/

10-09 14:54