Birden fazla sayfadan veri çekme

Katılım
18 Kasım 2016
Mesajlar
12
Excel Vers. ve Dili
2007 TR
Merhabalar saygıdeğer excel kurdu ağabeylerim.Aylardan beridir siteye gir çık gir çık yoruldum artık.Üye oluverdim.Sebep, bir çok arkadaşın da başına geldiği gibi bir türlü işin içinden çıkamamam.Benim bir borç defterim var.Yani bana borcu olan müşterilerime ait.Bunların herbirinin alışverişinin ne olduğunu ve her birinin ayrı ayrı tarih ve kalem kalem tutarlarının ve ayriyeten toplam borcunun da müşteri isimlerinin de barındığı sayfaları var.Bu sayfalar müşteriye açıklama yapabilmek için oluşturuldu ziyadesiyle.Beni işletmenin kimden ne kadar alacağı ve toplamdaki alacakları daha fazla meşgul ediyor bunun içinde bir sayfam daha var tüm borçlar toplam olarak.Buraya klasik en temel yöntem olan ='m1'!a1 deyip m1 sayfasındaki müşterinin a1 hücresindeki ismini çekiyorum.Hemen yan sütununa da aynı yöntemle a2'deki borcunun bulunduğu hücreyi çekiyorum.toplam borçlar hücreme de bu şekile tek tek girdiğim müşterilerin toplam borcunu yazdırıp hem hangi müşterinin kısaca ne kadar borcu var hem de toplam hepsinden alacağımızın ne kadar olduğunu özetleyebiliyorum.Bu benim basit tablomun şanzımanını değiştirme gereksinimi duyuyorum şimdi.ben ='m1'!a1 diye en fazla 20 tane girdim manuel olarak.Sanırım anlaşılmaya başlandım.Mevzu o ki ben her yeni sayfa açtığımda tüm borçlar toplam sayfam da kendiliğinden bir kayıt açsın ve yeni sayfadaki ilgili hücrelere verileri girdikçe toplam borç sayfamda yeni açılan ilgili 2 satıra müşterinin adını ve borcunu kendisi girsin.Kayıt formuna benziyor sanki.Formları da bir türlü beceremedim.Bana bunu yapabilecek bir kabileyete sahip (benim için) hazine değerinde kodlama veya formül ne gerekirse lazım.Yardımlarınız için şimdiden yüzlerce şükran sunarım..dosyam linktedir..


http://dosya.co/3rsrv0m69h59/xMÜŞTERİ_BORÇ_DEFTERİ.xlsx.html
 
Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba. Foruma hoşgeldiniz.

Ekleyeceğiniz belge özellikleri ve belge yükleme ile ilgili açıklamalar,
cevabımın altındaki İMZA bölümünde var.
.
 
Katılım
18 Kasım 2016
Mesajlar
12
Excel Vers. ve Dili
2007 TR
Çok teşekkürler şükür yapabildim bronz üye olaraktan.. :)
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

Alt taraftan "tüm borçlar toplam" sayfasının adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin.
Açılan VBA ekranında sağ taraftaki boş alana aşağıdaki kod'u yapıştırın.
Belgeyi MAKRO İÇEREN EXCEL BELGESİ olarak kaydedin.
Artık m1 ve m2 sayfalarıyla aynı yapıda yeni sayfa açıp kayıtlar yaptıktan sonra,
"tüm borçlar toplam" sayfasına geçtiğinizde yeni müşteriye ait sayfanın
A1 hücresindeki isim ve A3 hücresindeki tutar listeye dahil edilecektir.
.
Kod:
[FONT="Arial Narrow"][B]Private Sub Worksheet_Activate()[/B]
Application.ScreenUpdating = False
    If [A65536].End(3).Row >= 2 Then Range("A2:B" & [A65536].End(3).Row).ClearContents
        For Each Worksheet In ThisWorkbook.Worksheets
            If Worksheet.Name <> "tüm borçlar toplam" Then
        Cells([A65536].End(3).Row + 1, 1) = Worksheet.Cells(1, 1)
    Cells([B65536].End(3).Row + 1, 2) = Worksheet.Cells(3, 1): End If: Next
Application.ScreenUpdating = True
[B]End Sub[/B][/FONT]
 
Katılım
18 Kasım 2016
Mesajlar
12
Excel Vers. ve Dili
2007 TR
Merhaba.

Alt taraftan "tüm borçlar toplam" sayfasının adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin.
Açılan VBA ekranında sağ taraftaki boş alana aşağıdaki kod'u yapıştırın.
Belgeyi MAKRO İÇEREN EXCEL BELGESİ olarak kaydedin.
Artık m1 ve m2 sayfalarıyla aynı yapıda yeni sayfa açıp kayıtlar yaptıktan sonra,
"tüm borçlar toplam" sayfasına geçtiğinizde yeni müşteriye ait sayfanın
A1 hücresindeki isim ve A3 hücresindeki tutar listeye dahil edilecektir.
.
Kod:
[FONT="Arial Narrow"][B]Private Sub Worksheet_Activate()[/B]
Application.ScreenUpdating = False
    If [A65536].End(3).Row >= 2 Then Range("A2:B" & [A65536].End(3).Row).ClearContents
        For Each Worksheet In ThisWorkbook.Worksheets
            If Worksheet.Name <> "tüm borçlar toplam" Then
        Cells([A65536].End(3).Row + 1, 1) = Worksheet.Cells(1, 1)
    Cells([B65536].End(3).Row + 1, 2) = Worksheet.Cells(3, 1): End If: Next
Application.ScreenUpdating = True
[B]End Sub[/B][/FONT]


AYAKTA ALKIŞLIYORUM SENİ ABİ HELAL OLSUN..! :bravo: ÇALIŞIYOR TAKIR TAKIR ÇALIŞIYOR..:hihoho: ÇOOOKKK TEŞEKKÜR EDERİMM..! :mutlu::cool:

Ömer ağabey bana bu kodu satır satır açıklayabilirmisin peki iyi kötü anlıyorum benim için oldukça kafi ve tam da istediğimi veriyor bana ama mantığını iyice kavrarsam daha da geliştirebileceğime farklı şekillerde de kullanabileceğime inanıyorum.
 
Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
AYAKTA ALKIŞLIYORUM SENİ ABİ HELAL OLSUN..! :bravo: ÇALIŞIYOR TAKIR TAKIR ÇALIŞIYOR..:hihoho: ÇOOOKKK TEŞEKKÜR EDERİMM..! :mutlu::cool:
Tekrar merhaba.

İhtiyaç karşılandıysa mesele yok.

Bir hatırlatma: "tüm borçlar toplam" sayfasının A ve B sütununa elle/formülle vs. herhangi bir veri girişi yapmayınız.
Zira belirttiğim kodlardaki
If [A65536].End(3).Row >= 2 Then Range("A2:B" & [A65536].End(3).Row).ClearContents
satırı, bu sayfaya her geçişinizde tüm verileri siler, diğer kod satırları ise listeyi yeniden yazar.
.
 
Katılım
18 Kasım 2016
Mesajlar
12
Excel Vers. ve Dili
2007 TR
Tamam anladım.. elinize sağlık ağabey.. :)
 
Üst