Vba,选择一个动态矩阵

时间:2014-03-06 19:30:45

标签: arrays excel vba dynamic

我有一个包含数据矩阵的工作表,如下例所示:

example http://oi59.tinypic.com/wspv89.jpg

这个数组是动态生成的,所以..我知道左上角(非空)单元格的坐标,我想找到右上角的坐标(非空)Cell

第一个解决方案是使用.offset并检查右边的每个单元格,如果它不是null,但我发现这种方式很糟糕。我想找到一种更好的方法,更优化。

它存在吗?

2 个答案:

答案 0 :(得分:2)

在您的情况下,您可以使用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

答案 1 :(得分:1)

如果数据与您发布的数据(从 B5 开始的隔离块)。然后:

Sub dural()
    Dim r As Range
    Set r = Range("B5").CurrentRegion
    nLastColumn = r.Columns.Count + r.Column - 1
End Sub