2016-09-14 41 views
0

我有一个电子表格,其中所有的列A都是名为“Michael”的范围。如何引用excel中的命名列VBA

我得到最后占用的行的行号。

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

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

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

回答

3

你会参考范围内的单元格的列和行数()Range对象:

LRow = Cells(Range("micheal").Rows.count, Range("micheal").Column).End(xlUp).Row 
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