excel vba从selection.address获取行,单元格值

时间:2013-09-30 20:07:20

标签: excel vba excel-vba

For i = 1 To 20

  '' select the cell in question
  Cells.Find(...).Select

  '' get the cell address

  CellAddr = Selection.Address(False, False, xlR1C1) 



Next

以上是我搜索电子表格以查找特定字符串然后选择它的代码。我想使用Selection.Address获取单元格的地址,在这种情况下,返回R[100]C行的内容。有没有办法可以将结果拆分为行和列值,以便我可以在代码中操作它们?我想,例如在所选单元格行值中添加14行。我相信CellAddr将是一个Range对象,所以它可能工作我只是模糊实现。

谢谢!

2 个答案:

答案 0 :(得分:13)

这是你在找什么?

Sub getRowCol()

    Range("A1").Select ' example

    Dim col, row
    col = Split(Selection.Address, "$")(1)
    row = Split(Selection.Address, "$")(2)

    MsgBox "Column is : " & col
    MsgBox "Row is : " & row

End Sub

答案 1 :(得分:11)

Dim f as Range

Set f=ActiveSheet.Cells.Find(...)

If Not f Is Nothing then
    msgbox "Row=" & f.Row & vbcrlf & "Column=" & f.Column
Else
    msgbox "value not found!"
End If