• DİKKAT

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

sütunda arama yaparak karşısınaki ilk boş hücreyi seçme

Katılım
25 Ocak 2006
Mesajlar
763
Excel Vers. ve Dili
2019 tr
https://docs.google.com/file/d/0B0yXS8RObFusRllmVjl6ZzVWX0E/edit?filetype=msexcel

iyi günler, ekte gönderdiğim örnekten yola çıkarak bir bul butonu ve yanına yazacağım arama sözcüğüne göre bir sütunu aratmak ve bu kelimenin geçtiği ilk hücrenin karşısındaki belli bir aralıktaki ilk boş hücreyi seçtirmek istiyorum. aradığım değilse tekrar ara butonuna basarak bir sonrakine geçerek aşağıya doğru gitmesini sağlamak istiyorum.
 
Merhaba
Aşağıdaki kodları deneyebilirsiniz
http://s2.dosya.tc/server5/gj2yvl/o__776_rnek.zip.html
Kod:
[SIZE="2"]Dim hcr As Long

Sub YuvarlatılmışDikdörtgen1_Tıklat()
If hcr = Empty Then hcr = 9
Set r = Range("A" & hcr & ":A" & Rows.Count).Find([B3].Text, , xlFormulas, xlPart, _
xlByRows, xlNext, False, False)
If Not r Is Nothing Then
hcr = r.Row + 1
Cells(r.Row, Cells(r.Row, Columns.Count).End(xlToLeft).Column + 1).Select
Else
MsgBox "Başka Veri Bulunamadı"
hcr = Empty
End If
End Sub[/SIZE]
 
Deneyiniz.

Kod:
Option Explicit
Dim BUL As Range

Sub ARA()
    Dim S1 As Worksheet
    
    Set S1 = Sheets("GT")
    
    If Not BUL Is Nothing Then
        Set BUL = S1.Range("F7:F" & S1.Rows.Count).FindNext(BUL)
    Else
        Set BUL = S1.Range("F7:F" & S1.Rows.Count).Find(S1.Range("F6").Value, , , , , xlNext)
    End If
    If Not BUL Is Nothing Then
        S1.Cells(BUL.Row, "DZ").End(1).Offset(0, 1).Select
    End If
End Sub
 
teşekkürler, ufak bir sıkıntı var. ilk aramadan sonra başka bir arama yapmak istediğimde ilki hafızasında kalıyor. neden olabilir. yani amasya'yı arattım ve işim bitti, samsun yazıp aradığımda tekrar amasya'yı arıyor. ancak kapatıp açınca düzeliyor...
 
Modüldeki kodu aşağıdaki gibi düzeltiniz.

Kod:
Option Explicit
Public BUL As Range

Sub ARA()
    Dim S1 As Worksheet
    
    Set S1 = Sheets("GT")
    
    If Not BUL Is Nothing Then
        Set BUL = S1.Range("F7:F" & S1.Rows.Count).FindNext(BUL)
    Else
        Set BUL = S1.Range("F7:F" & S1.Rows.Count).Find(S1.Range("F6").Value, , , , , xlNext)
    End If
    If Not BUL Is Nothing Then
        S1.Cells(BUL.Row, "DZ").End(1).Offset(0, 1).Select
    Else
        MsgBox "Aranan kayıt bulunamadı !" & Chr(10) & Chr(10) & S1.Range("F6").Value, vbCritical
    End If
End Sub

Ek olarak GT isimli sayfanızın kod bölümüne aşağıdaki kodu uygulayınız.

Kod:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("F6")) Is Nothing Then Exit Sub
    Set BUL = Nothing
End Sub
 
bilgine emeğine sağlık. tekrar teşekkürler
 
Geri
Üst