【发布时间】:2014-04-09 15:49:12
【问题描述】:
我有一个包含如下示例数据矩阵的工作表:
这个数组是动态生成的,所以..我知道左上角(非空)单元格的坐标,我想找到右上角(非空)单元格的坐标
第一个解决方案是使用 .offset 并检查右侧的每个单元格,如果它不为空,但我觉得这种方式不好。我想找到更好的方法,更优化。
它存在吗?
【问题讨论】:
我有一个包含如下示例数据矩阵的工作表:
这个数组是动态生成的,所以..我知道左上角(非空)单元格的坐标,我想找到右上角(非空)单元格的坐标
第一个解决方案是使用 .offset 并检查右侧的每个单元格,如果它不为空,但我觉得这种方式不好。我想找到更好的方法,更优化。
它存在吗?
【问题讨论】:
在您的情况下,您可以使用CurrentRegion 属性:
Sub test()
With Range("B5").CurrentRegion
MsgBox .Address 'address of entire matrix
MsgBox .Cells(.Rows.Count, .Columns.Count).Address 'bottom right cell
End With
End Sub
【讨论】:
如果数据与您发布的一样(从 B5 开始的孤立块)。那么:
Sub dural()
Dim r As Range
Set r = Range("B5").CurrentRegion
nLastColumn = r.Columns.Count + r.Column - 1
End Sub
【讨论】: