• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Seçili alanda en son hücrenin adresi nedir?

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,239
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Seçili alandaki X bulunan hücrenin bulunduğu satırda En son hücrenin adresini nasıl Buluruz?
Dosyayı ekledim.:)
 
Merhaba,

X değerine sahip hücre seçildikten sonra :

Kod:
Sub Makro1()
Range("IV" & ActiveCell.Row).End(xlToLeft).Select
MsgBox Selection.Address
End Sub

Makro çalıştırılır ve adres alınır.
 
Sn Evren bey

Daha pratik bir çözüm bulunana kadar aşağıdaki mantık işinizi görecektir.

Kod:
Sub sonhucrebul()
adr = Split(Selection.Address, ",")
For a = 0 To UBound(adr)
If WorksheetFunction.CountIf(Range(adr(a)), "X") = 0 Then GoTo 10
sat = Range(adr(a)).Find("X").Row
sut = Range(adr(a)).Cells(Range(adr(a)).Cells.Count).Column
MsgBox Cells(sat, sut).Address(0, 0)
10 Next
End Sub
 
Tekrar Merhaba,

Ben soruyu yanlış mı anladım acaba?
 
Ben de anladığım şekilde cevap vereyim.
Kod:
Sub secilialandakisonhucre()
    x = Selection.Find("X").Row
    y = Selection.Columns.Count
    MsgBox Cells(x, y).Address
End Sub
 
Sanırım Evren Hocam'ın istediği, sizin cevabınız Necdet Hocam.

Kopya çekip Necdet Hocam ile Hamitcan Hocamın kodlarını birleştireyim :)

Sub bul()
x = Cells.Find("X").Select
Range("IV" & ActiveCell.Row).End(xlToLeft).Select
MsgBox Selection.Address
End Sub
 
Son düzenleme:
Selamlar,

Alternatif olarak aşağıdaki koduda kullanabilirsiniz.

Kod:
Sub SEÇİLİ_ALANDAKİ_SON_HÜCRE()
    Set BUL = Selection.Find("X", LookAt:=xlWhole)
    If Not BUL Is Nothing Then
    MsgBox Cells(BUL.Row, 256).End(1).Address(0, 0)
    End If
End Sub
 
Merhaba,

Ben olayı farklı kavradım. "Seçili alan" daki son hücre isteniyor herhalde.

Sayın Evren Hocam

Doğru algıladıysam aşağıdaki kodlarıda bir denermisiniz?

Kod:
Sub sonhucresec()
Dim hcr As Range, i As Byte, j As Byte
i = Selection.Columns.Count - 1
j = Selection.Column
    For Each hcr In Selection
        If hcr.Value = "X" Then
            MsgBox Cells(hcr.Row, i + j).Address(0, 0)
        End If
    Next

End Sub
 
Son düzenleme:
Arkadaşlar,Hepinize teker teker teşekkür ederim.
İstediğim Cevabı Ayhan bey 8 numaralı mesajda vermiş.
İyi geceler.
 
İşinize yaradığına sevindim Evren hocam.
Size de iyi geceler... :ok::
 
Geri
Üst