• DİKKAT

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

Diğer sayfalardan veri çekerek sorgu sayfası oluşturma?

Katılım
19 Ekim 2013
Mesajlar
13
Excel Vers. ve Dili
Professional Plus 2016
Merhaba. Öncelikle forumda yeniyim. Herkese iyi çalışmalar diliyorum.

Şöyle bir sorum olacak. Yaklaşık 4 milyon satırlık veri var elimde. Excel satır sınırı 1 milyon olduğu için 4 ayrı sayfaya bölünmüş. Şimdi bu excele bir sorgu sayfası ekleyerek sorguladığım şeyin 4 sayfada birden sorgulanıp sonuçların alt alta sorgu sayfasına eklenmesini istiyorum. Veriler tek sayfada olduğu zaman yapabiliyorum ama 4 ayrı sayfa olunca ve veri sayısı fazla olunca yapamadım.

Örnek resim ve dosyayı ekliyorum. Şimdiden teşekkür ederim.


2nyvzv.png
 

Ekli dosyalar

Merhaba,

Orjinal dosyanızdaki veriler tam burada verildiği gibi midir? Yoksa daha fazla veri alanı (Sütun) var mıdır?
Ayrıca bu 4 milyon üyeli ne büyük bir dernek veya kurummuş bu böyle açıkçası merak ettim. Ne derneği bu?

Yapılacak işe gelirse en basitinden söylüyorum

Sogu sayfasındaki aranacak veri VBA ile Lookup veya match fonksiyonlarının kullanıldığı bir kodlama ile sayfalarda tek,tek aranır. Eğer sayfa 1 de bulunmuş ise diğer sayfalarda aranmaz. Sayfa 1 de bulunmadı o zaman diğer sayfalara geçilir. Buluna kadar tüm sayfalar taranır. Bulunduğunda arama sonlandırılır ve veriler sorgu sayfasına taşınır. Diyelim ki hiç bir kayıt bulunmadı o zamanda bir mesaj üretilir, bilgi verilir.
 
Merhaba,

Orjinal dosyanızdaki veriler tam burada verildiği gibi midir? Yoksa daha fazla veri alanı (Sütun) var mıdır?
Ayrıca bu 4 milyon üyeli ne büyük bir dernek veya kurummuş bu böyle açıkçası merak ettim. Ne derneği bu?

Yapılacak işe gelirse en basitinden söylüyorum

Sorgu sayfasındaki aranacak veri VBA ile Lookup veya match fonksiyonlarının kullanıldığı bir kodlama ile sayfalarda tek,tek aranır. Eğer sayfa 1 de bulunmuş ise diğer sayfalarda aranmaz. Sayfa 1 de bulunmadı o zaman diğer sayfalara geçilir. Buluna kadar tüm sayfalar taranır. Bulunduğunda arama sonlandırılır ve veriler sorgu sayfasına taşınır. Diyelim ki hiç bir kayıt bulunmadı o zamanda bir mesaj üretilir, bilgi verilir.

Cevabınız için teşekkür ederim.
Sütun sayısı örnekteki ile aynı. Veriler aynı numara belki 200-300 kez geçtiği için fazla.
Sizin söylediğiniz çözümde arama 1 sonuca ulaşınca duracak. Ama benim istediğim tüm sayfalarda toplam 500 sonuç varsa hepsini alt alta sonuç sayfasına sıralasın.
 
Ekli dosyanısı inceleyiniz

Sayfalardaki belirtilen sutun aralığında arama yapıyor, sayfa ismini de G sutununa yazıyor,dosyanız ekte.
 

Ekli dosyalar

Tahsin Bey gerçi cevap vermiş alternatif olsun.

Kod:
Sub aktar()
Dim sh As Worksheet, veri As Range
With Sheets("SORGU SAYFASI")
.Range("A6:G" & .Cells(Rows.Count, "A").End(3).Row + 1).Clear
For Each sh In ThisWorkbook.Worksheets
If sh.Name <> "SORGU SAYFASI" Then
For Each veri In sh.Range("A2:A" & sh.Range("A1048576").End(3).Row)
If .Cells(2, "C") = sh.Cells(veri.Row, "A") Then
son = .Range("A1048576").End(3).Row + 1
.Cells(son, "G") = sh.Name
sh.Range("A" & veri.Row & ":F" & veri.Row).Copy .Cells(son, "A")
say = say + 1
End If
Next veri
End If
Next sh
End With
If say < 1 Then: MsgBox "Kişi Bulunamadı..."
End Sub
 
Son düzenleme:
Tahsin Bey gerçi cevap vermiş alternatif olsun.

Kod:
Sub aktar()
Dim sh As Worksheet, veri As Range
With Sheets("SORGU SAYFASI")
.Range("A6:G" & .Cells(Rows.Count, "A").End(3).Row).Clear
For Each sh In ThisWorkbook.Worksheets
If sh.Name <> "SORGU SAYFASI" Then
For Each veri In sh.Range("A2:A" & sh.Range("A1048576").End(3).Row)
If .Cells(2, "C") = sh.Cells(veri.Row, "A") Then
son = .Range("A1048576").End(3).Row + 1
.Cells(son, "G") = sh.Name
sh.Range("A" & veri.Row & ":F" & veri.Row).Copy .Cells(son, "A")
End If
Next veri
End If
Next sh
End With
End Sub

Yanıtlar için teşekkür ederim. Eğer sonuç bulunamazsa farklı bir msg box nasıl gösterebiliriz?
 
#6 Nolu mesaj güncellendi.
 
#6 Nolu mesaj güncellendi.

İlginiz için gerçekten teşekkür ederim. Çok güzel bir yardımlaşma örneği sergiliyorsunuz.

vardar07 bey sizin kodunuz arama yapmıyor. Butona aktar macrosunu atadım. Tıklayınca sonuç olsa da olmasa da direk kişi bulunamadı diyor arama yapmadan.

Tahsin beyin verdiği kod tam istediğim gibi. Çok güzel çalışıyor. Yalnız ona da sonuç bulamayınca bulunamadı hatasını yerleştiremedim
 
Geri
Üst