Excel 引用单元格中列出的命名范围
您好,这里是全新的编码: 我正在尝试为我拥有的特定excel工作表设置视图。工作表大约有300列数据,浏览起来非常麻烦。我为每列定义了一个命名范围,并创建了一些公式来确定特定视图上的命名范围列表,如“namedrange_1,namedrange_2”等 我在Excel 引用单元格中列出的命名范围,excel,vba,Excel,Vba,您好,这里是全新的编码: 我正在尝试为我拥有的特定excel工作表设置视图。工作表大约有300列数据,浏览起来非常麻烦。我为每列定义了一个命名范围,并创建了一些公式来确定特定视图上的命名范围列表,如“namedrange_1,namedrange_2”等 我在VBA代码中输入了一些命名范围,但注意到大约12个列表中出现了1004范围参考错误 如果我将代码分为3行,它似乎可以工作。但是,我希望代码能够自动转换为公式化的单元格(特定视图的命名范围列表) 例如,另一张工作表中的公式化单元格当前显示为:
VBA
代码中输入了一些命名范围,但注意到大约12个列表中出现了1004范围参考错误
如果我将代码分为3行,它似乎可以工作。但是,我希望代码能够自动转换为公式化的单元格(特定视图的命名范围列表)
例如,另一张工作表中的公式化单元格当前显示为:“Namedrange_1、Namedrange_2等”
正在查找代码以引用excel工作表中计算的命名范围列表,这样我就不必在每次修改视图时手动更改代码。这是完整的代码,并进行了一些更正。这个很好用,我测试过了。请试一试
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
你是对的,但我希望它引用一个单元格,我列出了命名范围(用逗号分隔),现在我想我开始理解它了。哪个是配方细胞?我是指包含列表的单元格?该单元格位于:=视图!B20。公式化单元格的示例如下:TEXTJOIN(“,”,TRUE,IF(B6=“X”,B$1,”),IF(C6=“X”,C$1,”),IF(D6=“X”,D$1,”),而值是命名的范围。我得到一个编译错误:找不到方法或数据方法。突出显示第一行(私人子CMB\u起飞\u基本\u点击()很高兴我帮了忙!
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