【问题标题】:Multiple Ranges with .cells property error具有 .cells 属性错误的多个范围
【发布时间】:2014-07-31 03:37:44
【问题描述】:

所以我有以下代码使用单元格属性选择 2 个范围,因为变量的值根据组合框选择而变化:

    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"

当我在“图表”工作表处于活动状态的情况下运行上述代码时,它运行顺利,没有任何错误,但是当我从“工作表 1”运行它时,我得到运行时 1004 '应用程序定义或对象定义'错误。

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

如果有人能澄清为什么从另一个工作表运行代码而不是在“图表”工作表处于活动状态时运行代码失败,我将不胜感激。

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

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    此语法错误: Set oRange = Union(Worksheets("Graphs").Range(Cells(1, 1), Cells(20, 1)), Worksheets("Graphs").Range(Cells(1, var1), 单元格(20, var2)))

    您还没有说 Cells(1, 1) 属于哪个工作表。它假定活动表。但它在对图表(未激活)的引用范围内。这可能是错误的原因。

    【讨论】:

    • 是的,这是怎么从我身边溜走的 :( Set oRange = Union(Worksheets("Graphs").Range(Worksheets("Graphs").Cells(1, 1), Worksheets("Graphs").Cells(20, 1)), Worksheets("Graphs").Range(Worksheets("Graphs").Cells(var1, 4), Worksheets("Graphs").Cells(var2, 6))) 工作正常。
    猜你喜欢
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    • 2017-06-09
    • 2022-12-10
    • 2019-07-18
    • 2020-09-07
    • 2013-03-27
    • 2019-01-22
    相关资源
    最近更新 更多