• DİKKAT

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

Excel tablosu içinde bir değeri arayıp bulan bir makro ?

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,773
Excel Vers. ve Dili
Excel 2019 Türkçe
Excel tablosu içinde (yada bir sütunda) bir değeri arayıp bulan bir makro istiyorum. O değer yoksa "yok" mesajı vermeli.
Ben bir makro yaptım ama geliştiremedim.Yardımlarınızı bekliyorum.

Private Sub CommandButton1_Click()


SONUC2 = TextBox1.Value
Sheets("SAYFA2").Select
Set FC2 = Sheets("SAYFA2").Columns("A").Find(What:=SONUC2)
Application.Goto Reference:=Range(FC2.Address), _
Scroll:=False

End Sub
Aranan değer varsa buluyor,yoksa hata veriyor.
Farklı bir yöntem olursada farketmez.

Herkese iyi çalışmalar...
 
Private Sub CommandButton1_Click()
On Error GoTo hata
SONUC2 = TextBox1.Value
Sheets("sayfa2").Select
Set FC2 = Sheets("sayfa2").Columns("A").Find(What:=SONUC2)
Application.Goto Reference:=Range(FC2.Address), _
Scroll:=False
Exit Sub
hata:
MsgBox ("yok")
End Sub
 
Bazen çözüm ne kadar kolay olabiliyor değil mi Sayın Hamitcan!...

Demek ki neymiş iyi ki varsın www.excel.web.tr
 
TEÞEKKÜR

Kod işime yaradı, tam istediğim gibi olmuş Sayın ALPEN teşekkürler. Sayın SERPİLY ,size de katılıyorum iyiki varsın excel.web.tr.

Ayrıca bu forumda emeği geçen herkese tekrar teşekkürler...
 
sn hamitcan

arama kodunu kullandığınızda aynı veriden iki tane varsa ne yapıyor.
ben daha önce düşeyara'ya arattırıyordum. ama aynı veriden iki den fazla olunca birini bulup bırakıyor. kullandığınız kod bu durumda ne yapıyor olmazsa bende kodlu sisteme geçerim belki :D

:) :)
 
Sayın ozozkılıç
Þunu önersem işinize yarar mı acaba?
Arama kriterinizin sayısını artırmak için arama yapılan tablodaki iki sütunu birinci sutunda Birleştir erek Birleştir kullanılan sutunu Düşeyara da kriter olarak verseniz. Dosya daha iyi anlatır sanıyorum.
 
Bir de şöyle bir şey kullanılabilir;

Kod:
Sub FindExactMatch()
    Dim MyStr As String, InfoMsg As String
    Dim Rng1 As String, LookupValue As String
    Dim MyQ As VbMsgBoxResult
    Dim FoundRng As Variant
    MyStr = Trim(Application.InputBox("Aranacak metni girin !", _
                                     "Find exact match ..."))
    If Not MyStr = "False" Then
        Set FoundRng = Cells.Find(MyStr, LookIn:=xlValues, LookAt:=xlPart)
            If Not FoundRng Is Nothing Then
                Rng1 = FoundRng.Address
                FoundRng.Activate
ResumeSub2:
            If Right(FoundRng.Value, 1) <> " " Then LookupValue = FoundRng.Value & " "
            MyData = Split(LookupValue, " ", , vbTextCompare)
            For i = LBound(MyData) To UBound(MyData)
                If MyData(i) = MyStr Then
                    InfoMsg = "Aranan metin " & FoundRng.Address(False, False) _
                    & " hücresinde bulundu." _
                    & vbCrLf & vbCrLf & "Bulunan hücrenin içeriği :" _
                    & vbCrLf & vbCrLf & FoundRng.Value & vbCrLf _
                    & vbCrLf & "Aramaya devam etmek istiyormusunuz ?"
                    MyQ = MsgBox(InfoMsg, vbInformation + vbYesNo, _
                                 "Arama sonucu...")
                    If MyQ = vbYes Then GoTo ResumeSub1:
                    Exit Sub
                End If
            Next
    Else
            MsgBox "Aranan değer bulunamadı !", vbInformation, "Arama sonucu..."
            Exit Sub
    End If
ResumeSub1:
    Set FoundRng = Cells.FindNext(FoundRng)
        If Rng1 = FoundRng.Address Then
            MsgBox "Aranan değerden başka bulunamadı !", vbInformation, _
                   "Arama sonucu..."
            Exit Sub
        End If
        FoundRng.Activate
        GoTo ResumeSub2:
    End If
    Set FoundRng = Nothing
End Sub
 
sayın serpily
biraz geç oldu ama ben gönderdiğiniz eklentiyi aldım. dediğiniz şekilde kullanamadım. daha doğrusu anlamadım. :kafa: :kafa: içinde birde makro göremedim. iyice ne yapacağımı karıştırdım. yardımların ve ilgin için ayrı ayrı teşekkürler.
 
@ozozkılıc

Sayın Raider'ın vermiş olduğu örnek dört dörtlük bir arama prosedürü. veriyi arar, bulursa ve istenirse kaldığı yerden aramaya devam eder, her işlemi yaptıktan sonra kullanıcıya gerekli bilgiyi verir.
sadece kopyalayıp istediğiniz yerde çağırın.
 
sayın Alpen

ben kodun nasıl kullanılacağını anlamadım. nereye yazıp nereye kopyalayacağımı. şöyle bir örnek vereyim:
a sütununa sırasıyla
1
2
3
4
5
4
3
2
3
4
yazdığımı farzediyorum ve örneğin 3 ü aratacağım. ve 3 ten 3 tane var. bu kodu nasıl kulanacağımı çözemedim.
 
sayın Alpen

ben kodun nasıl kullanılacağını anlamadım. nereye yazıp nereye kopyalayacağımı. şöyle bir örnek vereyim:
a sütununa sırasıyla
1
2
3
4
5
4
3
2
3
4
yazdığımı farzediyorum ve örneğin 3 ü aratacağım. ve 3 ten 3 tane var. bu kodu nasıl kulanacağımı çözemedim.
 
@ozozkilic:

Ã?rnek dosya ektedir...

Not: Sayın Alpen, son mesajını görmeden ben post etmişim, özür ...
 
tamam tamam şimdi anladım çok teşekkürler. hakkatten metettiğiniz kadar varmış.

teşekkürler :hey: :) :D
 
Geri
Üst