seçimli yazdırma!!

Katılım
28 Ağustos 2006
Mesajlar
108
Excel Vers. ve Dili
excel-2010 tr
slm arkadaşlar,

öncelikle hepinize iyi çalışmalar diliyorum. ben sizlerden bir şey rica edeceğim.

bir excel çalışma kitabı yapacağım. bu kitap içinde üç adet çalışma sayfam olacak. birinci safya içinde koymuş olduğum bir resme makro atamak istiyorum. yalnız bu atadığım makro ikinci sayfa içinde girmiş olduğum verileri cinsine göre üçüncü sayfamda sütunlara ve satırlara eğer formülü ile yerleştiriyor. fakat isteğim değer yok ise eğer formülü boş geçiyor o hücreyi. bu şekilde oluşmuş olan 3. sayfamda "A" sütunu tamamıyle dolu olup "B" ve "I" dahil olmak üzere eğer formülleri ile duruma göre boş veya dolu olarak görünüyor.

ben bu sayfada "B" ve "I" sütunlarım girdiğim verilerin bitmesi ile bir yerden itibaren boş görünecektir. şimdi ben buraya öyle bir makro atamak istiyorum ki bu boş olan yere kadar olan tüm sayfaları yazdırayım. ve en altında birde toplam satırı olsun. bunu gelebileceğim sınır kısmına bir toplam satırı ekleyip, arada kalan boş yerleri gizlemesi sağlayıp yazdırmasını mı atamamız gerekli acaba.

bana bu konuda yardımcı olusanız, çok sevinirim. hepinize şimdiden vereceğiniz kodlar için teşekkür ediyorum..
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bir örnek dosya eklermisiniz.
 
Katılım
28 Ağustos 2006
Mesajlar
108
Excel Vers. ve Dili
excel-2010 tr
bu konu hakkında fikirleri olan yok mu?:yardim: :yardim: :yardim:
 

AS3434

Özel Üye
Katılım
13 Ocak 2005
Mesajlar
1,820
Excel Vers. ve Dili
M.Office/Excel 2007 Türkçe
Sn qrrxz

Gönderdiğiniz dosyada Sayfa 3 de 12. satırda veri bitmiş görünüyor demişsiniz. Yani I sütununda 1254 olan satır. Ama 13. satırda dolu. Baz alınacak satır B sütunu mu, I sütunu mu? Çünkü B ve G sütunlarınızın 13. satırlarında veri var.
 
Katılım
28 Ağustos 2006
Mesajlar
108
Excel Vers. ve Dili
excel-2010 tr
Sn qrrxz

Gönderdiğiniz dosyada Sayfa 3 de 12. satırda veri bitmiş görünüyor demişsiniz. Yani I sütununda 1254 olan satır. Ama 13. satırda dolu. Baz alınacak satır B sütunu mu, I sütunu mu? Çünkü B ve G sütunlarınızın 13. satırlarında veri var.
aslında en alttaki toplama kadar eğer formülü ile veri var. ama bunlar sayfa 2'den aldığı için orada boş ise sayfa üçe birşey yazmıyor dikkat ettiyseniz. benim sorunumda budur. ve sayfa 2'de tüm sütunlara veri giriliyor. yani bir satırda boş veri olmayacak. sayfa 2'de de belirtmiştim zaten eğer boş bırakılırsa alt satıra geçiş yapılmasını engellesin diye. tekrar oraya bakıp bana cvp verebilir misin?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Sayfa3 ü yazdırmak için aşağıdaki kodu print butonuna bağlayın.

Kod:
Sub yazdir()
Set s1 = Sheets("sayfa3")
ilksat = WorksheetFunction.Match("", s1.[c:c], 0) - 1
sonsat = s1.[c65536].End(3).Row
s1.Rows(ilksat & ":" & sonsat).Hidden = True
s1.PrintOut
s1.Rows(ilksat & ":" & sonsat).Hidden = False
End Sub
Diğer sorularınız içinde aşağıdaki kodu sayfa2 nin kod sayfasına kopyalayın, kod B:F sütunlarına veri girdiğinizde çalışacaktır.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [b:f]) Is Nothing Then Exit Sub
If Target.Column < 6 Then
Target.Next.Select
Else
Target.Offset(1, -4).Select
End If
If Target.Column = 5 Then
deg = Array(1, 2, 3, 4, 5, "aaa", "bbb", "ccc", "ddd", "eee")
For a = 0 To 8
If deg(a) = Target Then Exit Sub
Next
MsgBox "hatalı veri"
Target.Select
End If
End Sub
 
Katılım
28 Ağustos 2006
Mesajlar
108
Excel Vers. ve Dili
excel-2010 tr
&#246;ncelikle ilginiz i&#231;in &#231;ok te&#351;ekk&#252;r ederim. yaln&#305;z baz&#305; problemler var.

Sayfa3 &#252; yazd&#305;rmak i&#231;in a&#351;a&#287;&#305;daki kodu print butonuna ba&#287;lay&#305;n.

Kod:
Sub yazdir()
Set s1 = Sheets("sayfa3")
ilksat = WorksheetFunction.Match("", s1.[c:c], 0) - 1
sonsat = s1.[c65536].End(3).Row
s1.Rows(ilksat & ":" & sonsat).Hidden = True
s1.PrintOut
s1.Rows(ilksat & ":" & sonsat).Hidden = False
End Sub
[/CODE]
makrosu sadece ba&#351;l&#305;k ve toplam k&#305;sm&#305;n&#305; al&#305;yor ve girilen verileri g&#246;rm&#252;yor bu sat&#305;lar&#305; standart olarak se&#231;iyor ve eski haline geri getirmiyor..

Di&#287;er sorular&#305;n&#305;z i&#231;inde a&#351;a&#287;&#305;daki kodu sayfa2 nin kod sayfas&#305;na kopyalay&#305;n, kod B:F s&#252;tunlar&#305;na veri girdi&#287;inizde &#231;al&#305;&#351;acakt&#305;r.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [b:f]) Is Nothing Then Exit Sub
If Target.Column < 6 Then
Target.Next.Select
Else
Target.Offset(1, -4).Select
End If
If Target.Column = 5 Then
deg = Array(1, 2, 3, 4, 5, "aaa", "bbb", "ccc", "ddd", "eee")
For a = 0 To 8
If deg(a) = Target Then Exit Sub
Next
MsgBox "hatal&#305; veri"
Target.Select
End If
End Sub
makrosuna da ek olarak bi&#351;ey daha isteyebilir miyim?

- "A" s&#252;tununa hi&#231; giri&#351; yap&#305;lamas&#305;n ve "B" s&#252;tunundan ba&#351;layal&#305;m.

- Sadece "B", "C", "D", "E" ve "F" sut&#252;nlar&#305; aras&#305;nda veri giri&#351;i yapabilelim. ayn&#305; zamanda bir alt sat&#305;ra ge&#231;erken kesinlikle bo&#351; b&#305;rakma yapamayal&#305;m. ("B", "C", "D", "E" ve "F" sut&#252;nlar&#305; ile "2" ila "3001" sat&#305;rlar&#305; d&#305;&#351;&#305;na &#231;&#305;kamayal&#305;m..)

- "C" s&#252;tununa da sadece en fazla 6 karakterli rakam girebilelim, metin giri&#351;ine izin vermesin.

iyi &#231;al&#305;&#351;malar diliyorum. tekrar te&#351;ekk&#252;r ediyorum.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
makrosu sadece başlık ve toplam kısmını alıyor ve girilen verileri görmüyor bu satıları standart olarak seçiyor ve eski haline geri getirmiyor..
Bizzat sizin dosyanızda deneyerek kodu oluşturdum. Sadece sayfa3 teki yazdırma alanını temizleyin ve tekrar deneyin. Diğer sorularınızada müsait olunca bakarım.
 
Katılım
28 Ağustos 2006
Mesajlar
108
Excel Vers. ve Dili
excel-2010 tr
Bizzat sizin dosyanızda deneyerek kodu oluşturdum. Sadece sayfa3 teki yazdırma alanını temizleyin ve tekrar deneyin. Diğer sorularınızada müsait olunca bakarım.
ben yazdırma alanı belirlememiş ondan hata vermiş. yalnız bir satır eksik alıyor.
 
Katılım
28 Ağustos 2006
Mesajlar
108
Excel Vers. ve Dili
excel-2010 tr
deg = Array(1, 2, 3, 4, 5, "aaa", "bbb", "ccc", "ddd", "eee")
[/CODE]
birde ben burayı çeşitlendirmek istedim. ve burada değer artışı oldu. örneğin "aaa"dan sonra "fcvd" gibi toplam 12 kelime verdim sadece bir tanesi için çalışıyor diğerlerinide görmüyor.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ekli dosyayı inceleyin. Gerekli açıklamalar dosya içinde ve VB editöründe kodların altında yapılmıştır.
 
Üst