我正在尝试获取用vba指定的范围内的单元格的行号。我想获取该范围内单元格的行号,但是我得到的是工作表中单元格的行号。
这是我当前正在使用的VBA代码。我设置了一个范围,并在该范围内搜索包含文本字符串“ C”的单元格。找到单元格后,我想更改范围第二列中的值。
Sub trial2()
Dim ActiveWB As Workbook
Dim ActiveWS As Worksheet
Dim rng As Range, findCell As Range
Set ActiveWB = ActiveWorkbook
Set ActiveWS = ActiveWB.ActiveSheet
Set rng = ActiveWS.Range("B4", "C10")
With rng
Set findCell = .Cells.Find(what:="C")
End With
rng.Cells(findCell.Row, 2).Value = "change to something."
End Sub
在运行代码之前:
运行代码后:
包含“ C”的单元格值在工作表的第6行中,但在范围的第3行中。我想知道如何获得范围的第三行。我知道我可以将单元格偏移1列来解决此问题,但是我很好奇要获取相对于定义范围的单元格的行数。
一种选择是rng
使用简单的数学运算根据第一行的数量进行调整。
rng.Cells(findCell.Row - rng.Row + 1, 2).Value = "change to something."
在这种情况下6 - 4 + 1
= 3
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句