• DİKKAT

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

Sayfa sonu kaçıncı satır

  • Konbuyu başlatan Konbuyu başlatan hsayar
  • Başlangıç tarihi Başlangıç tarihi
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Selam arkadaşlar benim sorum çok sayfalı bir tabloda sayfa sonunun/sonlarının kaçıncı satıra/satırlara denk geldiğini tespit etmek

Ã?rneğin standart a4 hücresinde her sayfa 56 satırdan oluşmakta ama birisinin satır yükseklğini bozduğunuzda doğala olarak her sayfanın satır sayısı değişmekte. Bunun için örneğin sayfa 2 ye a1 den itibaren şu şekilde tablolama yapılabilirmi

A B
1 Sayfa1 56
2 Sayfa2 111
3 Sayfa3 144
4 vs vs
 
İşin içine kağıt boyutlarını ve kenar boşluklarını karıştırmadan.. "a" sayfasında tablomuz, "b" sayfasındada satır noları görecek şekilde böyle birşey yazdım. 8-10 deneme sonra istediğiniz hal egetiririz heralde. :D

Kod:
Sub Set_Print_Area()
x = ActiveSheet.UsedRange.Rows.Count
toplam = 0
k = 1
yaz = 0
    For i = 1 To x
    toplam = toplam + Cells(i, 1).RowHeight
         If toplam > 663 Then
        Worksheets("b").Cells(k, 1) = i
        Worksheets("b").Cells(k, 2) = toplam - Cells(i, 1).RowHeight
         toplam = Cells(i, 1).RowHeight
         k = k + 1
           End If
Next i
End Sub
 
Kod:
Sub Yazdir()
    Dim sayi As Integer
    ActiveSheet.PageSetup.PrintArea = "$A$1:$A$1500"
    ActiveWindow.View = 1
      For sayi = 1 To 570 Step 57
        ActiveSheet.HPageBreaks(1).Location = sayi
      Next sayi
    ActiveSheet.PageSetup.PrintArea = "$A$1:$A$560"
End Sub

Adresleri değiştirebilirsiniz. Sadece örnektir. Kodlar geliştirilebilir.
 
Hocam tam olarak olmuyor, Satır yükseklikleri değişebiliyor bazen tutuyor bazen tutmuyor birde bu 663 sabitini anlayamadım
 
Ahmet kardeşim iyi niyetli olarak öğrenmeye çalıştığını ve bildiğin kadarı ile yardımcı olmaya çalıştığını görüyorum ve bu çok hoşuma gidiyor. Forumumuza faydalı olacağın kesin. Ama cevap yazmadan önce senden ricam soruları düzgün okuman. Ben günde birkaç yüz mesajı okumaya çalıştığım için hata yapabilirim ama senin böyle bir zorunluluğunda yok nasılsa. Lütfen..


@hsayar, demiştim sekiz-on denemede buluruz doğru yolu diye.. Sizde gittiniz excel'in bugını sordunuz :eek: Ekteki dosyayı bir inceleyin bakalım işinizi görürmü. :D
 
Hocam ceabınız inceledim belirttiğiniz üzere sayfa başını ait ilk satırı buluyor, sayfa sonunu ayrıca yapabilen varsa iyi olacak,
çünkü her sayfa sonundan iki öncesine satır ekleyecem ve aşağıdaki gibi satır ekleyecem

1 sayfada son satırdan iki öncesine ekle
1. sayfa toplamı
genel toplam
yazılacak formül ile (e,f,g, sütunlarını toplayacak

2 sayfada son satırdan iki öncesine ekle
2. sayfa toplamı
genel toplam
yazılacak formül ile 2.sayfadaki ilk satır ile sondan 2. satır arasındaki (e,f,g, sütunlarını toplayacak

Son sayfada son satırdan iki öncesine ekle
x. sayfa toplamı
genel toplam
yazılacak formül ile son.sayfadaki ilk satır ile sondan 2. satır arasındaki (e,f,g, sütunlarını toplayacak
burada satır eklemesine gerek kalabilirde kalmayabirde

Ã?zet olarak her sayfa sonunun üstüne iki satır eklemek istiyorum, ve eklenen 1. satıra "C" & sayfabaşıstrno:sayfasonusatırno alanlarını toplatıp; ekşenen 2. satırada ondan önceki ilk sayfanın genel toplamı ile bu sayfanın sayfa toplamını almasını istiyorum.

Yalnız anladığım kadarıylada zor bir şey isityorum :)
Cevabını daha evvel görmemimişim bugünlerde yoğun çalışmak zorundayım cevap veremediğim için özür dilerim.
 
Birşeyi anlamadım. Bu kodlar ile bulduğumuz rakamların bir eksiği bir önceki sayfanın son satırı oluyor zaten.. Ama illa kod ile ayrı ayrı yazdırmak istiyorum derseniz.


Kod:
Worksheets("b").Cells(i, 1) = ActiveSheet.HPageBreaks.Item(i).Location.Row

olan satırın hemen altına

Kod:
Worksheets("b").Cells(i, 2) = ActiveSheet.HPageBreaks.Item(i).Location.Row-1

yazabilirsiniz. Aralara her 2 satır eklediğinizde bu rakamlarada 2 eklemeniz gerekecek değilmi.
 
Yapmak istediğim her sayfa sonunun üstüne iki satır eklemek.

şu anki sayfa sonları 17, 63 ,117 ise sayfa sonları değişmeden araya iki boş satır eklemek.

Rows("9:10").Select

satırının değişkenli yazımı nasıl olur söyleyebiliriseniz, kendim deneyebilirim.

yani
Rows("ss:ss-1").Select

şeklinde
yerdımlerınız için teşekkürler
 
Tırnak kullanmadan sadece

Rows(5) derseniz 5. satırı seçer. 5 yerine ss değişkenini koymanız yeterli olur.
Tırnakla yazarsanız
Rows("5:8") şeklinde yazabilir ve 5 ile 8 yerine istediğiniz değişkeni yazarsınız.

Yani rows("ss:ss-1").select doğru gözüküyor. (son ve bir üstündeki satırı seçiyor.)

Ancak bana hala hatalı birşey varmış gibi geliyor asıl yapmak istediğiniz işlemde. Umarım yanılıyorumdur. Bir deneyin bakalım.
 
Sayın danersin tırnak kullanmadan yazdığımda hata aldım
İlginize teşekkür ederim. Mesajınıza işerimin yoğunluğundan dolayı cevap veremdeğim için de özür dilerim
 
Geri
Üst