【问题标题】:How can you shift a Defined Name using Excel VBA?如何使用 Excel VBA 转换定义的名称?
【发布时间】:2018-08-29 00:22:04
【问题描述】:

我正在尝试自动化跟踪各种指标的滚动日历电子表格。我想编写的脚本每次运行时都会将选定的范围转移到一个命名的范围内。

我确实使用这个宏成功地增加了火花线:

If Sheet2.Range("E5").SparklineGroups.Count > 0 Then
    With Sheet2.Range("E5").SparklineGroups.Item(1)
        .SourceData = "'" & Range(.SourceData).Parent.Name & "'!" & Range(.SourceData).Offset(, 1).Address
    End With
End If

但是,我使用下面的类似宏来引用定义的名称Hzrange。我对 VBA 很陌生,任何帮助都将一如既往地受到赞赏。

If ActiveWorkbook.Names("Hzrange").RefersToR1C1 > 0 Then
    With ActiveWorkbook.Names("Hzrange")
        .RefersToR1C1 = "'" & Range(.RefersToR1C1).Parent.Name & "'!" & Range(.RefersToR1C1).Offset(, 1).Address
    End With
End If

【问题讨论】:

  • 你的代码有什么问题?你得到什么错误或运行它会导致什么问题?
  • Names("BLAH").RefersToRange.Offset(1, 0).Name = "BLAH"

标签: excel vba


【解决方案1】:

为什么不

If ActiveWorkbook.Names("Hzrange").RefersToR1C1 > 0 Then
    With ActiveWorkbook.Names("Hzrange")
        .RefersToR1C1 = Range("Hzrange").Offset(, 1)
    End With
End If

【讨论】:

    猜你喜欢
    • 2013-04-11
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    • 1970-01-01
    相关资源
    最近更新 更多