所以我有以下代码使用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个范围的解决方法。
答案 0 :(得分:1)
这种语法错误:设置oRange = Union(工作表("图形")。范围(单元格(1,1),单元格(20,1)),工作表("图形和# 34;)。范围(单元格(1,var1),单元格(20,var2)))
你还没有说过Cell(1,1)属于哪个表格。它假定活动表。但它是在图表表格(不活跃)的参考范围内。这可能是错误的原因。