是否可以找到某个范围或某个范围内的单元格的相对行号和列号。
示例:在下表中(表名称为“ Table2”)
如果我使用Find方法并按如下方式打印地址:
Dim loHeaderRow As Range
Set loHeaderRow = ThisWorkbook.Worksheets("Sheet3").ListObjects("Table2").HeaderRowRange
Dim rFindResult As Range
Set rFindResult = loHeaderRow.Find(What:="MajorVersion", LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False, SearchFormat:=False)
MsgBox rFindResult.Address
将打印
$C$3
但是范围rFindResult与父范围loHeaderRow中的相对位置是:
Row number: 1
Column Number: 2
能做到吗?特别是通过使用标准的对象属性/方法而不需要很长的代码集吗?
您的行号将始终1
与标题行中的文本相同。至于专栏,您可以使用Debug.Print (rFindResult.Column - loHeaderRow.Column) + 1
例如
Sub Sample()
Dim loHeaderRow As Range, rFindResult As Range
Set loHeaderRow = ThisWorkbook.Worksheets("Sheet3").ListObjects("Table2").HeaderRowRange
Set rFindResult = loHeaderRow.Find(What:="MajorVersion", _
LookIn:=xlValues, _
LookAt:=xlWhole, _
MatchCase:=False, _
SearchFormat:=False)
MsgBox "The Row is 1 and the Column is " & _
(rFindResult.Column - loHeaderRow.Column) + 1
End Sub
这会给你1
和2
作为行和列数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句