makro ile aktarma

Katılım
17 Mayıs 2005
Mesajlar
57
Excel Vers. ve Dili
Office XP Prof
aşağıda uzun uğraş ve yardımlarınızdan sonra oluşturduğum makro ile HARCAMALAR 2005.xls dosyasının farklı sayfalarına verilerimi aktarıyorum. ancak bir işlemde ("Y.İÇİ TEDAVİ,GEÇİCİ,SÜR.GÃ?R.YOL") sayfasını ilgilendiren veri yoksa ilgili hücreleri boş geçiyor fakat bir sonraki işlemde bu sayfa ile ilgili veri varsa boş geçtiği hücreleri atlayıp sonraki hücrelere aktarma yapıyor. Bunu nasıl önleyebilirim. Yani satırlarım bir dolu bir boş olmasın.makroyu incelemeniz dileğiyle yardımlarınız için şimdiden teşekkür ederim.

Sub Ã?deneklereAktar()

Dim s1, s2
Set s1 = Sheets("AnaSayfa") 'buraya aktarılacak verilerin bulunduğu sayfa ismini yaz

wb2 = "D:\mustafa\Belgelerim\Ã?DENEK İÞLERİ\HARCAMALAR 2005.xls" 'buraya arşiv dosyasının ismini yaz
Workbooks.Open (wb2)


Set s2 = Sheets("Y.İÇİ TEDAVİ,GEÇİCİ,SÜR.GÃ?R.YOL") '03.3.1.02 Tedavi Y.İçi Geçici Görev Yolluğu
sonsat = s2.Range("L65536").End(xlUp).Row

'aktarılacak satırlar bu satırları çoğaltabilirsin
s2.Range("L" & sonsat + 1) = s1.Range("C20") 'ayrıntı kodu
s2.Range("M" & sonsat + 1) = s1.Range("F20") 'harcama tarihi
s2.Range("N" & sonsat + 1) = s1.Range("E20") 'harcama miktarı
s2.Range("O" & sonsat + 1) = s1.Range("g20") 'personel adı

Set s2 = Sheets("HASTANE GİDERLERİ") '03.9.1.01 Tedavi ve Sağlık Malzemesi Giderleri
sonsat = s2.Range("F65536").End(xlUp).Row

s2.Range("F" & sonsat + 1) = s1.Range("C21") 'ayrıntı kodu
s2.Range("G" & sonsat + 1) = s1.Range("F21") 'fatura tarihi
s2.Range("H" & sonsat + 1) = s1.Range("E21") 'harcama miktarı
s2.Range("I" & sonsat + 1) = s1.Range("g21") 'personel adı

Set s2 = Sheets("ECZANE İLAÇ GİDERLERİ") '03.9.2.01 Eczane İlaç Giderleri
sonsat = s2.Range("F65536").End(xlUp).Row

s2.Range("F" & sonsat + 1) = s1.Range("C22") 'ayrıntı kodu
s2.Range("G" & sonsat + 1) = s1.Range("F22") 'fatura tarihi
s2.Range("H" & sonsat + 1) = s1.Range("E22") 'harcama miktarı
s2.Range("I" & sonsat + 1) = s1.Range("g22") 'personel adı

ActiveWorkbook.Save
ActiveWorkbook.Close

End Sub
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Burada söylediğiniz türde hatayı yapacak satır aşağıdakidir. Burada yazılacak satır değeri L sütunundan alınıyor, Bu sütunu değiştirerek deneyin. Ã?rneğin M yapın.

sonsat = s2.Range("L65536").End(xlUp).Row
 
Üst