vba - 通过细胞矩阵选择细胞
问题描述
@TimWilliams,如果我将 CellArray 矩阵定义为范围,那么它会在构建矩阵的代码上崩溃,我按照您在https://stackoverflow.com/a/8320884/11835835链接上发布的答案进行操作
Dim CellsArray(3,3) As Range
For X = 0 To 2
For Y = 0 To 2
CellsArray(X, Y) = Cells(X+1,Y+1) _
.Address(RowAbsolute:=False, ColumnAbsolute:=False) 'it crashes here run-time error 91
Next Y
Next X
For K = 1 To 2
ActiveSheet.Union(Range(CellsArray(0, 0), CellsArray(0, K))).Select
Next K
相反,如果我将 CellsArray 矩阵定义为字符串,它会起作用
Dim CellsArray(3,3) As String
但后来它崩溃了
ActiveSheet.Union(Range(CellsArray(0, 0), CellsArray(0, K))).Select
运行时错误 438
解决方案
尝试这个:
Dim CellsArray(1 To 3, 1 To 3) As Range 'easier to use a 1-based array
For X = 1 To 3
For Y = 1 To 3
Set CellsArray(X, Y) = Cells(X, Y) 'Need Set here
Next Y
Next X
I'm not sure what you want to do here...
Dim rng As Range
For K = 1 To 3
If rng is nothing then
Set rng = CellsArray(1, 1)
Else
Set rng = Application.Union(rng, CellsArray(1, K))
End If
Next K
rng.Select
推荐阅读
- html - 如何制作一个按钮列表以在移动设备上显示两列?
- java - 如何在 Spring Boot Web 应用程序的 Bean 初始化代码中获取随机 http 端口?
- java - 用于授权 API 请求的 YouTube 帐户必须与用户的 Google 帐户合并
- blazor-webassembly - 将参数传递给根组件 Blazor 程序集
- c# - 如何在 C# 中的操作中添加另一个操作?
- gdb - msys2 中的 gdb 无法正常工作(点击“运行”后的“ModuleNotFoundError”和“无法插入断点”)
- materialize - 如何在materializecss optgroup中的标签中添加复选框?
- javascript - FontAwesome 图标 onClick() 事件未按预期工作
- javascript - Mock.mockImplementation 不是函数
- liferay - 如何在 Liferay 主菜单中打开外部应用程序链接 (D3)