如何在excel VBA中引用命名列

时间:2016-09-14 19:12:12

标签: excel excel-vba vba

我有一张电子表格,其中所有A列都是名为“Michael”的命名范围。

我得到最后一行的行号。

此代码有效:      LRow = Worksheets("Head").Range("A" & Rows.Count).End(xlUp).Row

此代码不起作用:      LRow = Worksheets("Head").Range("Michael" & Rows.Count).End(xlUp).Row

如何使用列名“Michael”而不是默认的A?

来使用它

2 个答案:

答案 0 :(得分:3)

您可以参考Cells()范围对象中的范围的列数和行数:

LRow = Cells(Range("micheal").Rows.count, Range("micheal").Column).End(xlUp).Row

答案 1 :(得分:0)

建议使用Find而不是xlUp。两种方法如下所示

Dim rng1 As Range
Dim lRow As Long

'Option 1
lRow = Cells(Rows.Count, Range("Michael").Column).End(xlUp).Row

'Option 2
Set rng1 = Range("Michael").Find("*", Range("Michael")(1), , , xlPrevious)
If Not rng1 Is Nothing Then MsgBox rng1.Row