【问题标题】:Reference Named Ranges listed within a Cell引用单元格中列出的命名范围
【发布时间】:2019-09-15 16:45:57
【问题描述】:

大家好,这里是编码新手:

我正在尝试为我拥有的特定 Excel 工作表设置视图。该工作表有大约 300 列数据,浏览起来非常麻烦。我为每一列定义了一个命名范围,并创建了一些公式来确定特定视图上的命名范围列表,例如。 “命名范围_1,命名范围_2”等。

我在VBA 代码中输入了一些命名范围,但注意到大约 12 个左右的列表出现 1004 Range 引用错误。

如果我将代码分成 3 行并且它似乎可以工作。但是,我希望代码能够自动生成公式单元格(特定视图的命名范围列表)。

例如,另一个工作表中的公式化单元格当前显示为:“Namedrange_1, NamedRange_2, Etc”

Private Sub CMB_TAKEOFF_BASIC_Click()
    Application.ScreenUpdating = False

    Sheets("Pipe").Visible = True
    Worksheets("Pipe").Activate

    Call CMB_All_Click

    Columns("B:XFD").Select
    Selection.EntireColumn.Hidden = True

    Range("NamedRange_1,NamedRange_2).EntireColumn.Hidden = False
    Range("NamedRange_13,NamedRange_14).EntireColumn.Hidden = False

    ActiveWindow.ScrollColumn = 1

    Application.ScreenUpdating = True
End Sub

查找代码以从 Excel 工作表中的计算中引用命名范围列表,这样我就不必在每次修改视图时手动更改代码。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    这是带有一些更正的完整代码。这很好用,我测试过。请试一试。

    Private Sub CMB_TAKEOFF_BASIC_Click()
    Dim i As Integer
    Dim arr() As String
        Application.ScreenUpdating = False
        Worksheets("Pipe").Visible = True
        Worksheets("Pipe").Activate
        'Call CMB_All_Click
        Columns("B:XFD").EntireColumn.Hidden = True
    'fill the array with values: split B20's value by commas.
        arr = Split(Worksheets("VIEWS").Range("B20"), ",")
    'for each value (named range) hide its column.
        For i = 0 To UBound(arr)
            Range(arr(i)).EntireColumn.Hidden = False
        Next
        ActiveWindow.ScrollColumn = 1
        Application.ScreenUpdating = True
    End Sub
    

    【讨论】:

    • 你是对的,但我希望它引用一个我列出了命名范围的单元格(用逗号分隔)
    • 现在我想我开始明白了。哪个是配方细胞?我的意思是有列表的单元格?
    • 单元格位于:=VIEWS!B20。公式化单元格的示例如下: TEXTJOIN(",",TRUE,IF(B6="X",B$1,""),IF(C6="X",C$1,""),IF( D6="X",D$1,"")) 而值是命名范围
    • 我得到一个编译错误:找不到方法或数据方法。高亮第一行(Private Sub CMB_TAKEOFF_BASIC_Click()
    • 很高兴我能帮上忙!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 2017-02-03
    • 1970-01-01
    • 2021-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多