• DİKKAT

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

Başka Sayfadan Sayfaya Sadeleştirilmiş Veri Çekme

Katılım
18 Mart 2012
Mesajlar
440
Excel Vers. ve Dili
2013
Herkese Merhaba,

Değerli arkadaşlar ekteki dosya için birkaç koda ihtiyacım var.
Dosyada her hücrenin içine yazdım olması gerekeni.

Değerli bilgilerinizle yardımcı olursanız sevinirim.

Şimdiden teşekkürler...
 

Ekli dosyalar

Aşağıdaki Kod işinize Yarar umarım.
Kod:
Sub Toplar()
For i = 3 To Sheets("Sayfa1").Cells(Rows.Count, "A").End(3).Row
If Sheets("Sayfa1").Range("E" & i) = "CH Ödeme" Then
chodeme = chodeme + Sheets("Sayfa1").Range("H" & i)
End If
If Sheets("Sayfa1").Range("E" & i) = "CH Tahsilat" Then
chtahsilat = chtahsilat + Sheets("Sayfa1").Range("H" & i)
End If
If Sheets("Sayfa1").Range("E" & i) = "Satınalma Faturası" Then
SatınalmaFaturası = SatınalmaFaturası + Sheets("Sayfa1").Range("H" & i)
End If
If Sheets("Sayfa1").Range("E" & i) = "Satınalma İade Faturası" And (Left(Sheets("Sayfa1").Range("D" & i), 2) = "A-" Or Left(Sheets("Sayfa1").Range("D" & i), 2) = "B-") Then
iade1 = iade1 + Sheets("Sayfa1").Range("H" & i)
End If
If Sheets("Sayfa1").Range("E" & i) = "Satınalma İade Faturası" And (Left(Sheets("Sayfa1").Range("D" & i), 2) = "AN" Or Left(Sheets("Sayfa1").Range("D" & i), 2) = "BN" Or Left(Sheets("Sayfa1").Range("D" & i), 1) = "0") Then
iade2 = iade2 + Sheets("Sayfa1").Range("H" & i)
End If
If Sheets("Sayfa1").Range("E" & i) = "Verilen Hizmet Faturası" Then
hizmet = hizmet + Sheets("Sayfa1").Range("H" & i)
End If
Next
Sheets("Sayfa2").Range("B3").Value = chodeme
Sheets("Sayfa2").Range("B4").Value = chtahsilat
Sheets("Sayfa2").Range("B5").Value = SatınalmaFaturası
Sheets("Sayfa2").Range("B6").Value = iade1
Sheets("Sayfa2").Range("B7").Value = iade2
Sheets("Sayfa2").Range("B8").Value = hizmet
End Sub
 
Son düzenleme:
Ömer abim tşk ederim.

uyguladım çalıştı ama problem var.

1- İade1 B- olanları alıyor sadece A- yi dahil etmiyor.
2- İade2 BN olanları topluyor AN yi dahil etmiyor. (buraya birde 0 la başlayan ilave etmemiz gerekiyordu yazmayı unutmuşum)

Basit bir sorun sanırım bir iki sembolle halledilir. Ama ben anlamıyorum.

Size zahmet müsaitseniz bir daha gözden geçirebilirmisiniz.
 
Son düzenleme:
Yukarıdaki kodu düzelttim. . "AN"li, "BN"li olana "0" da ilave ettim.
 
Son düzenleme:
Ömer bey tamam şimdi normal çalışıyor.

Elinize sağlık.

Küçük bir rutuş istiyorum. Yaparsanız da Allah razı olsun, yapmazsanız da.

Tşk.
 

Ekli dosyalar

Ömer hocam tekrar merhaba,

Aşağıda sizin yazdığınız kodlar var.

Raporu "Logo" ticari yazılım programından dışarıya excel formatında atıyorum ve kaydettiğim dosyayı açıp kopyalayıp sizin kodunu yazdığınız çalışma kitabının Sayfa1 ine yapıştırıyorum.

Dosyayı tekrar aç kopyala yapıştır zaman alıyor. Diyorum ki Logodan dışarı attığım dosyaya sabir bir isim versem (Örnek "Veri" gibi) Verilerimizi direk bu çalışma kitabından çeksek olur mu?

Eğer olumlu düşünüyorsanız aşağıdaki kodu buna göre düzeltebilir misiniz?

Bu arada dosyanın yolunu da ekliyorum. belki lazım olur.

C:\Users\term\Desktop\Makro Raporlar

Kod:
Private Sub CommandButton2_Click()
For i = 3 To Sheets("Sayfa1").Cells(Rows.Count, "A").End(3).Row
If Sheets("Sayfa1").Range("E" & i) = "CH Ödeme" Then
chodeme = chodeme + Sheets("Sayfa1").Range("H" & i)
End If
If Sheets("Sayfa1").Range("E" & i) = "CH Tahsilat" Then
chtahsilat = chtahsilat + Sheets("Sayfa1").Range("H" & i)
End If
If Sheets("Sayfa1").Range("E" & i) = "Satınalma Faturası" Then
SatınalmaFaturası = SatınalmaFaturası + Sheets("Sayfa1").Range("H" & i)
End If
If Sheets("Sayfa1").Range("E" & i) = "Satınalma İade Faturası" And (Left(Sheets("Sayfa1").Range("D" & i), 2) = "A-" Or Left(Sheets("Sayfa1").Range("D" & i), 2) = "B-") Then
iade1 = iade1 + Sheets("Sayfa1").Range("H" & i)
End If
If Sheets("Sayfa1").Range("E" & i) = "Satınalma İade Faturası" And (Left(Sheets("Sayfa1").Range("D" & i), 2) = "AN" Or Left(Sheets("Sayfa1").Range("D" & i), 2) = "BN" Or Left(Sheets("Sayfa1").Range("D" & i), 2) = "00") Then
iade2 = iade2 + Sheets("Sayfa1").Range("H" & i)
End If
If Sheets("Sayfa1").Range("E" & i) = "Verilen Hizmet Faturası" Then
hizmet = hizmet + Sheets("Sayfa1").Range("H" & i)
End If
Next
Sheets("Sayfa2").Range("B3").Value = chodeme
Sheets("Sayfa2").Range("B4").Value = chtahsilat
Sheets("Sayfa2").Range("B5").Value = SatınalmaFaturası
Sheets("Sayfa2").Range("B6").Value = iade1
Sheets("Sayfa2").Range("B7").Value = iade2
Sheets("Sayfa2").Range("B8").Value = hizmet
End Sub
 
Son düzenleme:
Merhaba,

Aldığınız datayı kırmızı alanların sol tarafına yapıştırıp pivot tablosunu güncellerseniz istediğiniz verilerin pivotunu oluşturabilirsiniz.

Makro dışında bir çözüm örneği verebilmek için paylaşmak isterim.
 

Ekli dosyalar

Merhaba,

Aldığınız datayı kırmızı alanların sol tarafına yapıştırıp pivot tablosunu güncellerseniz istediğiniz verilerin pivotunu oluşturabilirsiniz.

Makro dışında bir çözüm örneği verebilmek için paylaşmak isterim.

İlginiz için teşekkür ederim. İsminizi yazamadım :)

ama ben Makro İle bu işi çözmek istiyorum. Ekteki dosyada Ömer bey Gerekli kodları yazdı ama bir noktayı baştan düşünemediğim için eksik kaldı.

Eksik kalan kısmı tamamlamak istiyorum. Çalışma ekte. Veriyi aynı çalışma içerisindeki Sayfa1 yerine Farklı bir Çalışma kitabından almasını istiyorum.

Çalışma Kitabının bulunduğu klasör yolu : C:\Users\term\Desktop\Makro Raporlar

Çalışma Kitabının ismi ise: Veri

Not : Şu anki mevcut biçimle "Veri" isimli çalışma kitabındaki biçim aynı. Veri Alırken sadece Sayfa1 yerine Çalışma Kitabını görmesini istiyorum.

Yardımcı olan arkadaşlar şimdiden teşekkürler.
 

Ekli dosyalar

Geri
Üst