Soru Access veritabanından excell şablonuna gelen verilerden sütun toplamlarını bulup aktarma?

Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
Merhaba arkadaşlar.
Ekli belgede access veritabanından çeşitli kriterlere göre excell şablonlarına veriler gelmektedir. (Sn Ömer Baran hocanın sabrı ve ilgisine teşekkürü borç bilirim)
Talebimi bir örnek üzerinden izah etmek gerekirse; ilk resimdeki tabloda (Bordo şablonu) F sütunundan T sütununa kadar GENEL TOPLAM satırındaki sütun toplamlarını diğer şablondaki (Harcama Belgesi) metin kutusunda belirtilen hücrelere aktarılması gerekiyor.
Burada vurgulamak istediğim husus: Bordro şablonundaki veriler katılımcı sayısına göre değişiklik göstermekte iken diğer Harcama Belgesindeki hücreler sabittir.
Çözüm için bir örnek olursa diğer şablonlardaki aktarımları kendim yapabilirim. Vakti ve zamanı olan arkadaşların ilgisini rica ediyorum.

Ekran Alıntısı.JPG

1.JPG
 

Ekli dosyalar

  • 157.4 KB Görüntüleme: 2
  • 154.1 KB Görüntüleme: 4

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
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.
Konu, MAKRO-VBA bölümüne açılmış ancak, formül ile çözüm önerisinde bulunayım dedim.
Formüllerde, sadece sütun adlarını değiştirerek benzer işlemleri Harcama Belgesi sayfası için kendiniz de yapabilirsiniz.

Harcama Talimatı sayfası için aşağıdaki:
-- birinci formülü E5 hücresine,
-- ikinci formülü E6 hücresine; (benzer durumdaki diğer hücreler için sütun adı, yani T harfi değiştirilerek aynı formül kullanılabilir)
-- üçüncü formülü E11 hücresine; (benzer durumdaki diğer hücreler için sütun adları, yani H ve R harfi değiştirilerek aynı formül kullanılabilir)
uygulayın.
=MAK(Bordro!$B:$B)
=KAYDIR(Bordro!$
T$1;MAK(Bordro!$B:$B)+4;0)

=KAYDIR(Bordro!$H$1;MAK(Bordro!$B:$B)+4;0)+KAYDIR(Bordro!$R$1;MAK(Bordro!$B:$B)+4;0)
 
Son düzenleme:
Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
Ömer hocam teşekkür ederim.
Özellikle sormak istediğim husus formülleri bu şekil bir formata nasıl dönüştürüyorsunuz. Normal makro kaydet yöntemi ile bu şekil bir kod bloğu çıkmıyor. f.[F6].Formula = "=IF(D6="""","""",VLOOKUP(C6,Bordro!$C$5:$T$" & fson & ",14,0))"

Diğer husus Banka Listesi şablonuna gereken verileri çekmek için sizin kodları revize etmeye çalıştım. Kısmen başarılı olduğum hususu resimde işaretledim. Kod bloğunda hata veren satırlardan dolayı diğer kullanıcıların verileri gelmiyor.
Ekran Alıntısı.PNG

Kod:
'For sut = 6 To fson
'    f.Cells(sat, "F") = 1 * f.Cells(sut, "F")
'Next

f.[F6].Formula = "=IF(D6="""","""",VLOOKUP(C6,Bordro!$C$5:$T$" & fson & ",14,0))"
'f.[F6:H].AutoFill Destination:=f.Range("F6:H" & fson)
'f.Range("F6:F" & fson).Value = f.Range("F6:F" & fson).Value
'f.Range("f6:f" & fson + 1).HorizontalAlignment = xlCenter: f.Range("f6:f" & fson + 1).VerticalAlignment = xlCenter
f.Range("F" & fson + 1).Formula = "=SUM(F6:F" & fson & ")"
'f.Range("F" & fson + 1).Font.Bold = True
'f.Range("F" & fson + 1).AutoFill Destination:=f.Range("F" & fson + 1)
'f.Range("F" & fson + 1 & ":H" & fson + 1).Value = f.Range("F" & fson + 1 & ":H" & fson + 1).Value
'f.Range("D6:H" & fson + 1).HorizontalAlignment = xlCenter
' f.Range("F" & fson + 1 & ":H" & fson + 1).NumberFormat = "#,##0.00"
f.Rows(fson + 2 & ":" & fson + 5).AutoFit
f.Range("F6:F" & fson + 1).NumberFormat = "#,##0.00"
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
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.
Makro kaydet ile elde ettiğiniz formül metninde değiştirilmesi gereken kısım;
fson adını verdiğim ve formül uygulamasının üstündeki bir satırdaki kod ile tespit edilmiş olan son satır numarası değil mi?
Tabi makro kaydet de formüller R1C1 yöntemiyle yazılmış oluyor ve bu kafa karıştırıyor. R1C1 yöntemini araştırın isterseniz.

fson değişkeninin tanımlandığım satıra bakın isterseniz >> fson=...... şeklindeki satırı bulun.
Gerisi, zaten hazır olan formüldeki ilgili kısmın (son satır numarasının) yerine fson değişkeninin aldığı değeri yerine koymaktan ibaret.
.
 
Üst