Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 29-08-2017, 15:13   #1
selimsayar
Altın Üye
 
Giriş: 27/09/2015
Şehir: İstanbul
Mesaj: 7
Excel Vers. ve Dili:
İngilizce
Varsayılan Belli kritere göre data sayfalarından veri çekmek

Merhaba Arkadaşlar,
Belli kritere göre data sayfalarından veri çekip rapor oluşturmak istiyorum. Ekli dosyada konuyu anlatmaya çalıştım. Tanımlanan işlemi yapacak makro temin ederseniz sevinirim. Teşekkürler.
Eklenmiş Dosyalar
Dosya Türü: xlsx Sayfalardan Otomatik Veri Alma.xlsx (14.7 KB, 17 Görüntülenme)
selimsayar Çevrimdışı   Alıntı Yaparak Cevapla
Eski 29-08-2017, 16:39   #2
Ömer
Moderatör
 
Ömer kullanıcısının avatarı
 
Giriş: 18/08/2007
Şehir: Kuşadası
Mesaj: 19,101
Excel Vers. ve Dili:
Excel 2010 Türkçe
Varsayılan

Merhaba,

Bu şekilde deneyin.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub Rapor_Al()
    
    Dim syf(), sat As Long, i As Byte, c As Range, Adr As String
    
    Application.ScreenUpdating = False
    Sheets("Rapor").Select
    Range("A4:D" & Rows.Count).ClearContents
    
    syf = Array("Data1", "Data2", "Data3")
    
    sat = 4
    For i = 0 To UBound(syf)
        With Sheets(syf(i))
            Set c = .[D:D].Find([A1], , xlValues, xlWhole)
            If Not c Is Nothing Then
                Adr = c.Address
                Do
                    .Cells(c.Row, "A").Resize(1, 3).Copy Cells(sat, "A")
                    Cells(sat, "D") = .Name
                    sat = sat + 1
                    Set c = .[D:D].FindNext(c)
                Loop While Not c Is Nothing And c.Address <> Adr
            End If
        End With
    Next i
    
    Application.ScreenUpdating = True
    
End Sub
.
__________________
.
Ömer Çevrimdışı   Alıntı Yaparak Cevapla
Eski 29-08-2017, 18:17   #3
selimsayar
Altın Üye
 
Giriş: 27/09/2015
Şehir: İstanbul
Mesaj: 7
Excel Vers. ve Dili:
İngilizce
Varsayılan

Teşekkür ederim Ömer bey. Kod çalışıyor. Sadece macroyu manual olarak çalıştırmam gerekiyor. Dropdown listeden seçtiğim zaman otomatik olarak çalışırsa daha iyi olur.
selimsayar Çevrimdışı   Alıntı Yaparak Cevapla
Eski 30-08-2017, 09:00   #4
Ömer
Moderatör
 
Ömer kullanıcısının avatarı
 
Giriş: 18/08/2007
Şehir: Kuşadası
Mesaj: 19,101
Excel Vers. ve Dili:
Excel 2010 Türkçe
Varsayılan

Rapor sayfası kod bölümüne:

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub Worksheet_Change(ByVal Target As Range)

    Dim syf(), sat As Long, i As Byte, c As Range, Adr As String
    
    If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
    
    Application.ScreenUpdating = False
    Range("A4:D" & Rows.Count).ClearContents
    If Target = "" Then Exit Sub
    
    syf = Array("Data1", "Data2", "Data3")
    
    sat = 4
    For i = 0 To UBound(syf)
        With Sheets(syf(i))
            Set c = .[D:D].Find([A1], , xlValues, xlWhole)
            If Not c Is Nothing Then
                Adr = c.Address
                Do
                    .Cells(c.Row, "A").Resize(1, 3).Copy Cells(sat, "A")
                    Cells(sat, "D") = .Name
                    sat = sat + 1
                    Set c = .[D:D].FindNext(c)
                Loop While Not c Is Nothing And c.Address <> Adr
            End If
        End With
    Next i
    
    Application.ScreenUpdating = True
    
End Sub
.
__________________
.
Ömer Çevrimdışı   Alıntı Yaparak Cevapla
Eski 30-08-2017, 12:30   #5
selimsayar
Altın Üye
 
Giriş: 27/09/2015
Şehir: İstanbul
Mesaj: 7
Excel Vers. ve Dili:
İngilizce
Varsayılan

Teşekkürler.
selimsayar Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 19:12


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım -- Beylikdüzü mali müşavir - Beylikdüzü mali müşavir - Lingerie - Dyeing Machine - Karton Bardak- Karton Bardak- Çorlu Dil Konuşma Terapisti- Çorlu Dil Konuşma Terapisti- Çorlu Konuşma Terapisti- Çorlu Konuşma Terapisti- Çorlu Özel Eğitim- Site Yönetimi- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Çorlu- Çorlu Araç Takip- Rampa- Çorlu İnternet Sitesi- Çorlu Sürücü Kursu- Şişli Avukat- Çorlu Etüt- İstanbul Botanik- Çorlu Sigorta- Kağıt Bardak- Kağıt Bardak- Çorlu Havuz- Çorlu Havuz- Çorlu Perde Yıkama- Okul Danışmanlık- ADR'li taşıma kabı imalatı- Mekanik Tesisat- Çorlu Grafik Tasarım- Çorlu Sondaj- Çorlu Etüt- Futbol Cafe- Beylikdüzü Temizlik- Çorlu Kurs- Çorlu Ders- İzmit Mimar- Hurda Bakır Kablo- Hurda Bakır Kablo- Çorlu Pronet- Çorlu Yönetim- Çorlu Apartman Yönetimi- Çorlu Marangoz- Çorlu Avukat-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden