Yazıcıdan Aralıklı Liste Yazdırmak

Katılım
5 Mart 2007
Mesajlar
86
Excel Vers. ve Dili
Excel 2003 Türkçe
Excel 2007 Türkçe
Merhaba kolay gelsin

eklediğim dosyada belirttiğim örnek bir tablo var (orjinali 10bin satırlık bir şey) makroya yazdığım bir aralığı (c10:d20 gibi) yazıcıdan alabiliyorum ancak bu aralığı şu an ki bilgimle makroya elle yazmak zorundayım aralığı excelde belirttiğim hücrelerden ( Örneğin Tablodaki sıra numaralarını yazarak) alıp yazdırsa olurmu detayı ve örneği ekli dosyada şimdiden çok teşekkür ederim.
 

Ekli dosyalar

İ

İhsan Tank

Misafir
Merhaba kolay gelsin

eklediğim dosyada belirttiğim örnek bir tablo var (orjinali 10bin satırlık bir şey) makroya yazdığım bir aralığı (c10:d20 gibi) yazıcıdan alabiliyorum ancak bu aralığı şu an ki bilgimle makroya elle yazmak zorundayım aralığı excelde belirttiğim hücrelerden ( Örneğin Tablodaki sıra numaralarını yazarak) alıp yazdırsa olurmu detayı ve örneği ekli dosyada şimdiden çok teşekkür ederim.
merhaba
bu kodda Inputbox çıkıyor siz oraya aralığı yazarak çıktı alabilirsiniz
Kod:
Sub yazalanı_seç()
bilgi = "Yazdırmak istediğiniz hücre aralığını girin.    "
bilgi = bilgi + "Size uygun olanını yazmak için silin ve yazın." + Chr$(13) + Chr$(10)
bilgi = bilgi + "TAMAM'a tıklayın." + Chr$(13) + Chr$(10)
bilgi = bilgi + "İPTAL veya ESC basarsanız bütün tabloyu seçersiniz." + Chr$(13) + Chr$(10)
düğme = "A12:K40"
a$ = InputBox(bilgi, "YAZDIRMA ALANINI SEÇMEK", düğme)
ActiveSheet.PageSetup.PrintArea = a$
ActiveWindow.SelectedSheets.PrintPreview
Range("A13").Select
End Sub
not : kod alıntıdır.
 
Katılım
5 Mart 2007
Mesajlar
86
Excel Vers. ve Dili
Excel 2003 Türkçe
Excel 2007 Türkçe
cevap yazdığın için teşekkürler ihsan TANK.

Bu yazdığın makro istediğim şekilde değil sebebide şu ben excel in kendi satır ve sütun numaralarını vermeyeceğim zira bende 20 sütunluk 10 bin satırlık veri bulunan excel sayfasındaki listenin satır sıra numaralaları na denk gelen aralığı yazdırmasını istiyorum örnek dosyada belirtildiği gibi.

yani 1'inci satır ile 10'uncu satır aralığındaki listenin çıktısını alsın istiyorum örnek dosyadaki gibi.
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
Merhaba.
aşağıdakini yedek dosya üzerinden dener misiniz?

tablonuzun her zaman C4 hücresinden başladığı varsayımı ile hazırlanmıştır.


4. satırdaki başlıkların çıkmasını istemiyorsanız
Kod:
With ActiveSheet.PageSetup
    .PrintTitleRows = "$4:$4"
    .PrintTitleColumns = ""
End With
satırlarını silebilirsiniz.

seçili alanı kontrol amaçlı koyduğum
Kod:
MsgBox r.Address
satırını silebilirsiniz.



Kod:
Sub secili_alan_yazdir()

Dim r As Range
Dim ba As Long, bi As Long

ba = Range("L6").Value
bi = Range("M6").Value

Set r = Range("C" & ba + 4 & ":" & "I" & bi + 4)

MsgBox r.Address 'kontrol amaçlı olup silinebilir.

With ActiveSheet.PageSetup
    .PrintTitleRows = "$4:$4"
    .PrintTitleColumns = ""
End With

ActiveSheet.PageSetup.PrintArea = ""
ActiveSheet.PageSetup.PrintArea = r.Address
r.PrintOut

ActiveSheet.PageSetup.PrintArea = ""

End Sub
 
Son düzenleme:
Katılım
5 Mart 2007
Mesajlar
86
Excel Vers. ve Dili
Excel 2003 Türkçe
Excel 2007 Türkçe
mancubus verdiğiniz makronun mantığı listedeki sıra numaralarına toplama yaparak yazdırılacak satırları belirliyor ancak bendeki sıra numaraları 0 dan değil 1 den başlıyor ve maximum 84 e kadar devam ediyor sonra tekrar 1 den başlıyor yani

1,2,3,.....77,101,102,103....183,184,201,202,203,.....,265,266,267,301 vs. şeklinde devam ediyor makronuzu bu sıralamaya nasıl dahil edeceğiz çözemedim bunu belirtmeyişim benim eksikliğim kusuruma bakmayın lütfen.


bu sıra numarasının bulunduğu örneğin listede 202. sıranın excelde 305. satır olduğunu makro ile tespit ettiremiyormuyuz. bu şekilde olursa sanırım sorduğum konu çözülmüş olacak.
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
0 başlık satırı içindir.
ancak sorunuzdan numaraların teselsül etmediği (müteselsil olmadığı, birbirini takip etmediği) anlaşılmıyor. en azından ben anlayamadım.

bir önceki kodu silerek yerine aşağıdaki kodu kopyalar mısınız?

"match" fonksiyonu ile başlangıç / bitiş için yazdığınız rakam C sütununda aranarak satır numarası döndürülmektedir. dolayısı ile verinizin yapısı, sütun/satır başlangıçları vb değişecek olur ise güncellemeniz gerekir.

Kod:
Sub secili_alan_yazdir()

Dim r As Range
Dim ba As Long, bi As Long
Dim sat1 As Long, sat2 As Long

ba = Range("L6").Value
bi = Range("M6").Value

sat1 = Application.Match(ba, ActiveSheet.Columns("C"), 0)
sat2 = Application.Match(bi, ActiveSheet.Columns("C"), 0)

Set r = Range("C" & sat1 & ":" & "I" & sat2)

With ActiveSheet.PageSetup
    .PrintTitleRows = "$4:$4"
    .PrintTitleColumns = ""
End With

ActiveSheet.PageSetup.PrintArea = ""
ActiveSheet.PageSetup.PrintArea = r.Address
'MsgBox r.Address

r.PrintOut
ActiveSheet.PageSetup.PrintArea = ""

End Sub
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
not: aranan değerin C sütununda bulunduğu ilk satırı getirir. aynı sıra numarası bir kaç defa kullanılıyorsa farklı bir çalışma gerekir.
 
Katılım
5 Mart 2007
Mesajlar
86
Excel Vers. ve Dili
Excel 2003 Türkçe
Excel 2007 Türkçe
Son Bir Şey

sat1 = Application.Match(ba, ActiveSheet.Columns("C"), 0)
sat2 = Application.Match(bi, ActiveSheet.Columns("C"), 0)

kodları farklı sayfaları göstererek denediğimde hata veriyor (aşağıdaki gibi) aynı sayfa zorunluluğumu mevcut match komutunda öncekinde böyle bir zorunluluk bulunmuyordu da :)

sat1 = Application.Match(ba, ActiveSheet.Columns("Sayfa2!C"), 0)
sat2 = Application.Match(bi, ActiveSheet.Columns("Sayfa2!C"), 0)

Farklı sayfaları nasıl gösteririz acaba
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
hatalı olmuş. aşağıdaki gibi deneyin.

sat1 = Application.Match(ba, Sheets("Sayfa2").Columns("C"), 0)
sat2 = Application.Match(bi, Sheets("Sayfa2").Columns("C"), 0)
 
Katılım
5 Mart 2007
Mesajlar
86
Excel Vers. ve Dili
Excel 2003 Türkçe
Excel 2007 Türkçe
@mancubus'a ayrıca çok teşekkür ederim baya yordum. Bu arada visualbasic i yeni yeni öğreniyorum kusuruma bakmayın.

Yeni konu açmadan farklı bir şey sormak istiyorum bir makro düşünün çalıştırdığımız zaman otomatik olarak makroda belirttiğimiz sütunları gizlesin ve tekrar çalıştırdığımızda göstersin bu mümkün mü?
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
estağfurullah.


diğer konuda şöyle hareket edelim.

konu farklı olduğu için ileride ihtiyaç duyacakların da faydalanabilmesi için ayrı bir konu olarak açalım.

yalnız bunu yapmadan önce, forum kuralları gereği, internette + forumda arama seçeneğinden araştırma yapalım. eğer benzer bir konu bulamaz isek (ki, sütun gizleme konusunda bir çok konu olduğunu hatırlıyorum) yeni konu açalım.
 
Katılım
28 Kasım 2007
Mesajlar
919
Excel Vers. ve Dili
Office 2010 İngilizce
Merhaba arkadaşlar,
Ekdeki dosya mevcut formatım. Yanlız satır olarak beli olmayan verilerimi print ettirmek için bir makroya ihtiyacım var. Rica etsem yardımcı olur musunuz.?
 

Ekli dosyalar

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
merhaba.

konu makro yardımıyla print etmekse forumda yüzlerce örneğini bulabilirsiniz.

örnek:

sayfaları seçip yazdırmak
Kod:
Sub yazdir()
    Sheets(Array("Sayfa1", "Sayfa2", "Sayfa3", "Sayfa4")).Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1
End Sub
sayfanın sadece 1-3 sayfasını yazdırmak
Kod:
Sub yazdir()
    Worksheets("Sayfa7").PrintOut from:=1, To:=3
End Sub

ihtiyacınız farklı ise ve forumdan çözüm bulamadı iseniz ayrı bir konu açmanızı öneririm.
 
Son düzenleme:
Üst