Soru Macro kullanarak sayfalar arasında arama yapma nasıl olur?

Katılım
26 Mayıs 2007
Mesajlar
37
Excel Vers. ve Dili
excel 2003 türkçe
Merhaba
bu siteden yeniyim bir konuda yardıma ihtiyacım öncelikle macro konusunda sıfır bilgiye sahibim belki sizlerin aracılığınız ile birşeyler öğrenebileceğimi sanıyorum.
işyerimde kullandığım 1 excel tablom var.
Tablomda 27 sayfa var bu sayfalarda ctrl+F sonrasında seçenekler sekmesi ve oradan içinde: kısmına çalışma kitabı seçip arama istediğim veriyi yazıp sonrakini buldediğimde bana hangi sayfada var ise buluyor bu zaten excelin bir yeteneği.

Ben ise aynı tabloya 1 sayfa daha ekleyip buraya bir macro ile aramak istediğim veriyi yazıp o sayfaya gitmesini istiyorum.Böle bir şey olma imkanı varmı?
saygılar.
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,260
Excel Vers. ve Dili
office 2003 tr + office 2010 tr 32bit
Bir tablolar dosyasında bu kadar sayfa arasında kurmak istediğiniz ilişki nedir ? Hiç ve yeni sayfaya yeni veri mi , tablonun neresine yazılmalı ya da ilişki kurulacaksa sayfaların neresinde ne ile neler arasında ilişki KOD ile kurulmalıdır ?
Kısacası , en azından bunu anlamak için bir ekli örnek dosyanızı görmek çok yardımcı olurdu. Bir kısa örneği hassas bilgiler içermeyecek şekilde hazırlayıp altın üye olmasanız da www.bigfile.net ya da benzeri bir dış barındırma sitesine yükleyerek linkini burada verebilirseniz inceleme yolu ile çıkarım yaparak ilerlemek mümkün olabilir
Bu şekilde excele neyi bulması gerektiğini anlatmak mümkün değil , ben oyle istemedim geri donuşlerine sebep olabilir.
 
Katılım
26 Mayıs 2007
Mesajlar
37
Excel Vers. ve Dili
excel 2003 türkçe
Bir tablolar dosyasında bu kadar sayfa arasında kurmak istediğiniz ilişki nedir ? Hiç ve yeni sayfaya yeni veri mi , tablonun neresine yazılmalı ya da ilişki kurulacaksa sayfaların neresinde ne ile neler arasında ilişki KOD ile kurulmalıdır ?
Kısacası , en azından bunu anlamak için bir ekli örnek dosyanızı görmek çok yardımcı olurdu. Bir kısa örneği hassas bilgiler içermeyecek şekilde hazırlayıp altın üye olmasanız da www.bigfile.net ya da benzeri bir dış barındırma sitesine yükleyerek linkini burada verebilirseniz inceleme yolu ile çıkarım yaparak ilerlemek mümkün olabilir
Bu şekilde excele neyi bulması gerektiğini anlatmak mümkün değil , ben oyle istemedim geri donuşlerine sebep olabilir.
konu ile ilgili dosyayı size paylaşıcam ozaman ilişkiyi belki çözebiliriz.
 
Katılım
26 Mayıs 2007
Mesajlar
37
Excel Vers. ve Dili
excel 2003 türkçe
Bir tablolar dosyasında bu kadar sayfa arasında kurmak istediğiniz ilişki nedir ? Hiç ve yeni sayfaya yeni veri mi , tablonun neresine yazılmalı ya da ilişki kurulacaksa sayfaların neresinde ne ile neler arasında ilişki KOD ile kurulmalıdır ?
Kısacası , en azından bunu anlamak için bir ekli örnek dosyanızı görmek çok yardımcı olurdu. Bir kısa örneği hassas bilgiler içermeyecek şekilde hazırlayıp altın üye olmasanız da www.bigfile.net ya da benzeri bir dış barındırma sitesine yükleyerek linkini burada verebilirseniz inceleme yolu ile çıkarım yaparak ilerlemek mümkün olabilir
Bu şekilde excele neyi bulması gerektiğini anlatmak mümkün değil , ben oyle istemedim geri donuşlerine sebep olabilir.
merhaba dosyayı aşıağda linkten çekebilirsiniz.
https://wetransfer.com/downloads/b5066b8955b601c86a6985f17b8a6a3f20210114091721/d2066d2c12959975db60fdb2149ad73820210114091746/29275a

şimdi eğer dosyayı açarsanız şayet 1 nolu sayfada ara diye bir buton var butona basınca bir arama alanı gelicek buraya herhangi bir sayfadan ürün kodu örn : ( 12397065) bu kod25.sayfada duruyor bu kodu bulsun ve o sayfaya gitsin.
bu olabilirmis bu sayede ilişkiyi tamamlamış olucaz.

12397065​


12397065​

 
Katılım
26 Mayıs 2007
Mesajlar
37
Excel Vers. ve Dili
excel 2003 türkçe
merhaba hocam dosyayı aşağıya linke şeklinde yazdım.
https://dosya.co/e08v051zr78l/SATIŞA_KAPALI_ÜRÜNLER_2020.xls.html

Şimdi eğer dosyayı açarsanız şayet 1 nolu sayfada ara diye bir buton var butona basınca bir arama alanı gelicek buraya herhangi bir sayfadan ürün kodu örn : ( 12397065) bu kod25.sayfada duruyor bu kodu bulsun ve o sayfaya gitsin.
bu şekilde olabilirmi?
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,615
Excel Vers. ve Dili
Microsoft 365 Tr-64
ARA butonunuzdaki kodu silin, aşağıdakini yapıştırın
C#:
Private Sub CommandButton2_Click()
Dim sht As Worksheet
    Deger = InputBox("Değeri Girin")
BAŞTAN:
x = 0
    For Each sht In Worksheets
        If Not sht.Cells.Find(Deger) Is Nothing Then
            x = 1
            cevap = MsgBox(sht.Name & " sayfasında aranan bulundu. İgili sayfaya gidelim mi?" & vbNewLine & vbNewLine & _
                    "Hücreye Gitmek için EVET" & vbNewLine & _
                    "Aramaya Devam etmek için HAYIR" & vbNewLine & _
                    "SonlandırmaK için İPTAL", vbYesNoCancel, "ARAMA SONUCU")
            If cevap = vbNo Then GoTo Devam1
            If cevap = vbCancel Then Exit Sub
            sht.Select
            sht.Cells.Find(Deger).Select
            Exit Sub
        End If
Devam1:
    Next
    If x = 1 Then
        cevap = MsgBox("Tüm sayfalar arandı." & vbNewLine & "Baştan başlamak istiyor musunuz?", vbYesNo, "ARAMAYA DEVAM EDİLSİN Mİ")
        If cevap = vbYes Then GoTo BAŞTAN
    Else
        MsgBox "Aranan değer bulunamadı", , "ARAMA SONUCU"
    End If
End Sub
 
Katılım
26 Mayıs 2007
Mesajlar
37
Excel Vers. ve Dili
excel 2003 türkçe
Budur budur
ARA butonunuzdaki kodu silin, aşağıdakini yapıştırın
C#:
Private Sub CommandButton2_Click()
Dim sht As Worksheet
    Deger = InputBox("Değeri Girin")
BAŞTAN:
x = 0
    For Each sht In Worksheets
        If Not sht.Cells.Find(Deger) Is Nothing Then
            x = 1
            cevap = MsgBox(sht.Name & " sayfasında aranan bulundu. İgili sayfaya gidelim mi?" & vbNewLine & vbNewLine & _
                    "Hücreye Gitmek için EVET" & vbNewLine & _
                    "Aramaya Devam etmek için HAYIR" & vbNewLine & _
                    "SonlandırmaK için İPTAL", vbYesNoCancel, "ARAMA SONUCU")
            If cevap = vbNo Then GoTo Devam1
            If cevap = vbCancel Then Exit Sub
            sht.Select
            sht.Cells.Find(Deger).Select
            Exit Sub
        End If
Devam1:
    Next
    If x = 1 Then
        cevap = MsgBox("Tüm sayfalar arandı." & vbNewLine & "Baştan başlamak istiyor musunuz?", vbYesNo, "ARAMAYA DEVAM EDİLSİN Mİ")
        If cevap = vbYes Then GoTo BAŞTAN
    Else
        MsgBox "Aranan değer bulunamadı", , "ARAMA SONUCU"
    End If
End Sub

Budur budur budur harika hocam elinize sağlık çok teşekkür ederim bir muhteşemsiniz saygılarımla.
 
Katılım
26 Mayıs 2007
Mesajlar
37
Excel Vers. ve Dili
excel 2003 türkçe
ARA butonunuzdaki kodu silin, aşağıdakini yapıştırın
C#:
Private Sub CommandButton2_Click()
Dim sht As Worksheet
    Deger = InputBox("Değeri Girin")
BAŞTAN:
x = 0
    For Each sht In Worksheets
        If Not sht.Cells.Find(Deger) Is Nothing Then
            x = 1
            cevap = MsgBox(sht.Name & " sayfasında aranan bulundu. İgili sayfaya gidelim mi?" & vbNewLine & vbNewLine & _
                    "Hücreye Gitmek için EVET" & vbNewLine & _
                    "Aramaya Devam etmek için HAYIR" & vbNewLine & _
                    "SonlandırmaK için İPTAL", vbYesNoCancel, "ARAMA SONUCU")
            If cevap = vbNo Then GoTo Devam1
            If cevap = vbCancel Then Exit Sub
            sht.Select
            sht.Cells.Find(Deger).Select
            Exit Sub
        End If
Devam1:
    Next
    If x = 1 Then
        cevap = MsgBox("Tüm sayfalar arandı." & vbNewLine & "Baştan başlamak istiyor musunuz?", vbYesNo, "ARAMAYA DEVAM EDİLSİN Mİ")
        If cevap = vbYes Then GoTo BAŞTAN
    Else
        MsgBox "Aranan değer bulunamadı", , "ARAMA SONUCU"
    End If
End Sub
Sayın hocam gerçekten çok süper bir iş yapmışsınız elinize emeğinize sağlık tekrar teşekkür ederim.Saygılar.
 
Katılım
16 Ocak 2018
Mesajlar
6
Excel Vers. ve Dili
Microsoft Office Prof. Plus 2013
Elinize sağlık hazırladığınız makro çok işime yaradı ancak mümkünse bir ilave yapabilir miyiz? Birden çok sayfa olan bir Excel çalışma kitabım var. Bu makro ile arama yapınca hepsindeki sonuçları alıyorum bu çok güzel bana sadece sonucu bulduğu sayfanın adını söylüyor. Bunun yanı sıra bir de aradığım değerin yer aldığı sayfada C sütununa denk gelen (tarih sütunum) değeri de söylemesi mümkün müdür acaba?

Daha açıklayıcı olursak, arama yaptıktan sonra gelen mesajda "XX sayfasında 05.05.2023 tarihli aranan bulundu" gibi


ARA butonunuzdaki kodu silin, aşağıdakini yapıştırın
C#:
Private Sub CommandButton2_Click()
Dim sht As Worksheet
    Deger = InputBox("Değeri Girin")
BAŞTAN:
x = 0
    For Each sht In Worksheets
        If Not sht.Cells.Find(Deger) Is Nothing Then
            x = 1
            cevap = MsgBox(sht.Name & " sayfasında aranan bulundu. İgili sayfaya gidelim mi?" & vbNewLine & vbNewLine & _
                    "Hücreye Gitmek için EVET" & vbNewLine & _
                    "Aramaya Devam etmek için HAYIR" & vbNewLine & _
                    "SonlandırmaK için İPTAL", vbYesNoCancel, "ARAMA SONUCU")
            If cevap = vbNo Then GoTo Devam1
            If cevap = vbCancel Then Exit Sub
            sht.Select
            sht.Cells.Find(Deger).Select
            Exit Sub
        End If
Devam1:
    Next
    If x = 1 Then
        cevap = MsgBox("Tüm sayfalar arandı." & vbNewLine & "Baştan başlamak istiyor musunuz?", vbYesNo, "ARAMAYA DEVAM EDİLSİN Mİ")
        If cevap = vbYes Then GoTo BAŞTAN
    Else
        MsgBox "Aranan değer bulunamadı", , "ARAMA SONUCU"
    End If
End Sub
 
Üst