excel - 引用单元格中列出的命名范围
问题描述
大家好,这里的编码都是全新的:
我正在尝试为我拥有的特定 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 工作表中的计算中引用命名范围列表,因此我不必在每次修改视图时手动更改代码。
解决方案
这是带有一些更正的完整代码。这很好用,我测试过。请试一试。
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
推荐阅读
- python - Microsoft Teams - 机器人主程序中的无限循环
- javascript - 将变量插入 PHP 标头位置 URL
- django - Django 模板 - 将日期时间格式转换为字符串
- android - ViewModel中查询不需要显示在Activity中的数据
- azure-cosmosdb - 在 Azure Cosmos DB 中,我是否需要将分区键添加到我的查询 where 子句中?
- r - 计算 R 中每列的 NA 总数
- angular - 在一次调用中处理两种不同类型的返回(文件(Blob)或 JSON)
- javascript - 查找一个 Div 中的第 N 个子元素在另一个 Div 中
- laravel - Nuxt Auth 在刷新后将我重定向回登录页面,即使成功登录
- mysql - 由于提取格式 2021-02-07T15:32:54,Coldfusion 和 mySQL 5.6.41 返回日期时间错误