• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Soru İşletme Defteri Devreden Tutar

🕒 Konu sahibi 2 saat önce aktifti

LİNDA

Gold Üye
Katılım
4 Haz 2021
Mesajlar
317
Çözümler
1
Aldığı beğeni
95
Excel V
Office 2019 TR
Gold Bitiş
15 Nisan 2026
Konu Sahibi
Windows 10 Google Chrome 145
Merhaba site dostlarının yardımıyla yapmaya çalıştığım işletme defterimde şu sorunla karşılaştım.Kullanılan kodlarda GELİR 2024 sayfasındaki yazdır düğmesi ile her 35 satırda bir önceki sayfanın F sütununu devreden bakiye satırı olarak ekliyor ve sonra yeni sayfanın verileri geliyor..Ama 69,70,71 sayfada ise devrenden bakiye satırı eklenmiyor.Gelir ve giderin kaç sayfa veri içereceğini önceden bilemiyorum Sorunun nerede olduğunu bulamadım.Aynı şekilde 2024 işletme sayfasında ise benzer kodları kullandım
Sub Yazdır()
Dim ws As Worksheet, PrntWs As Worksheet
Dim lastRow As Long, PageBreak As Long, i As Long, RowCount As Long, LTData As Long

Set ws = ActiveSheet
ws.Copy After:=ws
Set PrntWs = ActiveSheet

PrntWs.PageSetup.PrintArea = ""

PrntWs.PageSetup.PrintTitleRows = "$1:$3" 'Sayfa başlıkları ilk 3 satır olacak şekilde ayarlandı
lastRow = PrntWs.Cells(PrntWs.Rows.Count, "B").End(xlUp).Row 'Son işlenen tarih satırını bul
LTData = PrntWs.Cells(PrntWs.Rows.Count, "A").End(xlUp).Row 'A sütununda sayfa sonunu bul
If LTData > lastRow Then
Range("A" & lastRow + 1 & ":A" & LTData - 1).EntireRow.Delete 'B'ye göre gereksiz A satırlarını sayfasonuna kadar sil
End If
RowCount = 41 'Sayfa başına 41 satır belirle
toplam = lastRow + Val(lastRow / RowCount)
For i = RowCount To toplam Step RowCount

'Sayfa üzerinde her 41 satırda bir PageBreak ekle
PrntWs.Rows(i + 1).Insert Shift:=xlDown 'PageBreak öncesi devreden bakiye satırı ekle
PrntWs.HPageBreaks.Add Before:=PrntWs.Rows(i + 1) 'PageBreak ekle
lastRow = lastRow + 1 'Devreden bakiye için eklenen satır nedeni ile LastRow'u 1 arttır
PageBreak = i + 1
PrntWs.Cells(PageBreak, "d").Value = "ÖNCEKİ SAYFADAN DEVREDEN "
PrntWs.Cells(PageBreak, "d").Font.Color = vbRed
PrntWs.Cells(PageBreak, "d").Font.Bold = True

PrntWs.Cells(PageBreak, "k").Value = "ÖNCEKİ SAYFADAN DEVREDEN "
PrntWs.Cells(PageBreak, "k").Font.Color = vbRed
PrntWs.Cells(PageBreak, "k").Font.Bold = True

'F hücresine bir önceki sayfanın son F değerini devreden bakiye satırına yaz
If PageBreak > 1 Then
PrntWs.Cells(PageBreak, "f").Value = PrntWs.Cells(PageBreak - 1, "f").Value
PrntWs.Cells(PageBreak, "f").Font.Color = vbRed
PrntWs.Cells(PageBreak, "f").Font.Bold = True

PrntWs.Cells(PageBreak, "m").Value = PrntWs.Cells(PageBreak - 1, "m").Value
PrntWs.Cells(PageBreak, "m").Font.Color = vbRed
PrntWs.Cells(PageBreak, "m").Font.Bold = True
End If
Next i

lastRow = PrntWs.Cells(PrntWs.Rows.Count, "E").End(xlUp).Row 'Düzenlemeye göre son satırı yeniden bul

PrntWs.PageSetup.PrintArea = "$A$1:$m" & lastRow 'A:m sütunları arasını yazdırm alanı olarak belirle
PrntWs.PrintPreview 'Düzenlenen sayfayı yazdır

Application.DisplayAlerts = False
PrntWs.Delete 'Print düzenlemesi için oluşturulan kopya sayfayı sil
Application.DisplayAlerts = True
Cancel = False
End Sub




yine aynı sorun oluşuyor son 3-4 sayfada.Ve sayfa sonları açık kalıyor. Eklediğim resimdeki G1 gibi olması gerekiyor. Hatamı bulamadım yardımcı olabilecek
 

Ekli dosyalar

  • G1.JPG
    G1.JPG
    23.4 KB · Gösterim: 6
  • G2.JPG
    G2.JPG
    23 KB · Gösterim: 6
  • BAKİYE.zip
    BAKİYE.zip
    851 KB · Gösterim: 3
Konu Sahibi
Windows 10 Google Chrome 145
Not: Siz 35 demişsiniz ama kodda 41 var. Ben değişkeni bırakıyorum; istediğiniz sayıyı verin.
Deneyip dönüş yapınız
Öncelikle Teşekkür ederim.Gelir2024 sayfasını yazdırmak için kullandığım 35. satır İşletme 2025 sayfası için 41 satır olarak düzenlemiştim (A4 sığdırmak için) .Çözüm dosyasını denedim ama sayfa ön izlemesi ekranına yansıyan A:J sütun arası sonraki sayfa ya geçiş yapamıyorum. Yazdırdığımda da A:J arası yazıyor ve sayfa başındaki 4 satırın dışında 1, sayfaya 30 satır 2.sayfaya 7 satır almış 3. sayfaya geçince devrenden bakiyeyi almış (sadece gider bölümü görünüyor) ve bu şekilde devam ediyor
 

Ekli dosyalar

  • e1.JPG
    e1.JPG
    120.8 KB · Gösterim: 3
  • e2.JPG
    e2.JPG
    39 KB · Gösterim: 2
  • e3.JPG
    e3.JPG
    121.8 KB · Gösterim: 3
Windows 8.1 Opera 95
güncelledim tekrar deneyiniz

Sayfa Sonu Çakışması: Excel'in kendi belirlediği sayfa sonu, sizin RowCount = 41 ile eklediğinizden daha önce geliyorsa (satırlar çok genişse), araya boş sayfalar girer. Bunu önlemek için tüm satırları seçip Satır Yüksekliği değerini (örneğin 15) olarak sabitlemenizi öneririm.
 

Ekli dosyalar

  • 1771444924398.png
    1771444924398.png
    113.3 KB · Gösterim: 1
Son düzenleme:
Geri
Üst