2013-09-30 4 views
9
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, поэтому он может работать, я просто нечеткий в реализации.excel vba получение строки, значение ячейки из selection.address

Спасибо!

ответ

9
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 
+1

+ 1 Правильный способ сделать это :) –

+0

спасибо, что это замечательно – Brian

12

Это вы что искали?

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 
Смежные вопросы