具有.cells属性错误的多个范围

时间:2014-07-30 19:25:32

标签: excel vba excel-vba

所以我有以下代码使用cells属性选择2个范围,因为变量的值会根据Combobox选择而改变:

    var1 = Worksheets("Sheet1").ComboBox1.ListIndex
    var2 = Worksheets("Sheet1").ComboBox2.ListIndex

    Dim oRange As Range
    Set oRange = Union(Worksheets("Graphs").Range(Cells(1, 1), Cells(20, 1)), Worksheets("Graphs").Range(Cells(1, var1), Cells(20, var2)))

ORange.Value = "Test"

当我运行上面的代码并将“Graphs”表作为活动时,它运行顺利,没有任何错误,但是当我从“Sheet1”运行它时,我得到运行时1004'应用程序定义或对象定义'错误。

我不想使用Worksheets("Graphs").Activate行,因为我不希望它在执行代码时在表格之间跳转。

如果有人能够从其他工作表中运行代码而不是在“图表”工作表处于活动状态时运行代码,那么有人可以理解代码失败的原因,我将不胜感激。

我愿意选择2个范围的解决方法。

1 个答案:

答案 0 :(得分:1)

这种语法错误:设置oRange = Union(工作表("图形")。范​​围(单元格(1,1),单元格(20,1)),工作表("图形和# 34;)。范​​围(单元格(1,var1),单元格(20,var2)))

你还没有说过Cell(1,1)属于哪个表格。它假定活动表。但它是在图表表格(不活跃)的参考范围内。这可能是错误的原因。