如何引用Excel VBA中的命名列

我有一个电子表格,其中列A的全部是名为“迈克尔”的范围。

我正在获取最后占用的行的行号。

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

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

我如何得到这个与我一起使用列名“迈克尔”,而不是默认的A?

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

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

推荐使用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