2013-09-30 13 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 

Yukarıdaki kod, belirli bir dizeyi bulmak için bir yayılan sayfanın aranması kodumdur ve sonra onu seçer. Selection.Address kullanarak hücrenin adresini almak istiyorum, bu durumda, R[100]C satırları boyunca bir şey döndürür. Bu sonucu satır ve sütun değerlerine bölebilmem için bir yol var mı? Örneğin, seçilen hücre satır değerine 14 satır eklemek istiyorum. Ben CellAddr bir Range nesnesi olacağına inanıyorum, bu yüzden işe yarayabilirim.excel vba satırın alınmasından, hücre değeri from selection.address

Teşekkürler!

cevap

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

321 + 1 Bunu yapmanın doğru yolu :) –

+0

teşekkürler bu harika – Brian

12

Bu mu arıyorsunuz?

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