listbox yazdır ve önizle

cem yılmaz

Altın Üye
Katılım
23 Aralık 2006
Mesajlar
359
Excel Vers. ve Dili
Office365 TÜRKÇE
Altın Üyelik Bitiş Tarihi
20-10-2026
Merhabalar..

Forumdaki tüm konuları inceledim fakat benim istediğim örneği bulamadım.Sorum şu?

listboxa alınan verileri userform üzerinden önizlemek diğer buton ile alınan verileri yazdırmak.Bana daha önceden yazılan bir kod vardı.Fakat bu işe yaramıyor ve donma yapıyor.Farklı bir vba kodu varmı?

Bana önerilen kod,

Kod:
Private Sub UserForm_Click()
On Error Resume Next
Dim say As Integer
Dim i As Integer
say = ListBox1.ListCount
For i = 1 To say
Sheets("sayfa3").Cells(i, 1) = ListBox1.Column(0, i)
Next i
Me.Hide
Sheets("sayfa3").PrintPreview ' baskı önizleme için
'Sheets("sayfa3").PrintOut ' yazdırmak için
Me.Show
End Sub
 
Katılım
16 Kasım 2007
Mesajlar
700
Excel Vers. ve Dili
Office 2003 - Tr
Bir CommandButton ekleyip;
Private Sub UserForm_Click()
kısmını bu CommandButton'a atarsanız ve kullandığınız excel dosyasında sayfa3 varsa; bir hata olmaz.
UserForm_Click olayı problem çıkartıyor olabilir.
 

cem yılmaz

Altın Üye
Katılım
23 Aralık 2006
Mesajlar
359
Excel Vers. ve Dili
Office365 TÜRKÇE
Altın Üyelik Bitiş Tarihi
20-10-2026


sizin dediğiniz gibi vba kodlarını command buttona atadım sonuç yine aynı hiç bir işlem yapamıyorum resimdeki gibi donuyor.
 

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
Bence donmuyor baskı ön izleme sayfası açılınca excel kapat butonuna basmadan işlem yapmaz.formda alttaki sayfaya erişime izin vermeyince bu problem ortaya çıkıyor.formu açtıgınız kodları userform1.show 0 şeklinde açarsanız problem ortadan kalkar.
aslında kodlarda

Me.Hide
Sheets("sayfa3").PrintPreview ' baskı önizleme için
'Sheets("sayfa3").PrintOut ' yazdırmak için
Me.Show
formu kapatıp işlem sonunda açması lazım ama yapmıyor her halde

Private Sub UserForm_Click()
On Error Resume Next
Dim say As Integer
Dim i As Integer
say = ListBox1.ListCount
For i = 1 To say
Sheets("sayfa3").Cells(i, 1) = ListBox1.Column(0, i)
Next i
unload me
Sheets("sayfa3").PrintPreview ' baskı önizleme için
'Sheets("sayfa3").PrintOut ' yazdırmak için
userform1.show 'userformun ismiyle değiştirin

End Sub
kodları böyle denermisiniz belki işe yarar.
 
Son düzenleme:

cem yılmaz

Altın Üye
Katılım
23 Aralık 2006
Mesajlar
359
Excel Vers. ve Dili
Office365 TÜRKÇE
Altın Üyelik Bitiş Tarihi
20-10-2026
Bence donmuyor baskı ön izleme sayfası açılınca excel kapat butonuna basmadan işlem yapmaz.formda alttaki sayfaya erişime izin vermeyince bu problem ortaya çıkıyor.formu açtıgınız kodları userform1.show 0 şeklinde açarsanız problem ortadan kalkar.
aslında kodlarda



formu kapatıp işlem sonunda açması lazım ama yapmıyor her halde


kodları böyle denermisiniz belki işe yarar.
sizin dediğiniz gibi de yaptım userform1 0 şeklinde denedim buseferde debug hatası veriyor.olmadı.Başka bir çözümü varmı?
 

cem yılmaz

Altın Üye
Katılım
23 Aralık 2006
Mesajlar
359
Excel Vers. ve Dili
Office365 TÜRKÇE
Altın Üyelik Bitiş Tarihi
20-10-2026
düzeltilmiş mesajınızdaki gibide yaptım olmadı.Sn fedeal.Ben kendim yazdım sizin unload me yerine unload userform1 yazdım yazdır düğmesine basınca userformu kapatıyor ne önizleme ekranı çıkıyor nede yazdırma işlemi yapıyor.
 

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
mevcut formunuzun ismi userform1 mi? mevcut formu ilk açtıgınız da kullanacaksınız bunu yani form açıkken sayfaya müdahale edebileceksiniz. örnek dosya ekleme şansınız varmı?
 

cem yılmaz

Altın Üye
Katılım
23 Aralık 2006
Mesajlar
359
Excel Vers. ve Dili
Office365 TÜRKÇE
Altın Üyelik Bitiş Tarihi
20-10-2026
Userform açılınca işlem sırasını yazıyorum.
zimmet bul- kullanılmayan mühür işaretlenir-seri olarak yeşil1 seçilir-bul tıklanır.listboxa alınan verilerin yazdırılmasını istiyorum.
 

Ekli dosyalar

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Kodlarda bir hata yok.
Örnek bir dosya yollayabilirmisiniz?:cool:
 

cem yılmaz

Altın Üye
Katılım
23 Aralık 2006
Mesajlar
359
Excel Vers. ve Dili
Office365 TÜRKÇE
Altın Üyelik Bitiş Tarihi
20-10-2026
ekledim Sn evren hocam
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Hani yazdırma yapmadı.Kodları yazmadınızmı.Hatayı kontrol edecektik ya.:cool:
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Dosyanızda Sayfa3 yok.
Aşağıdaki kodları bir butona koyun.
Ve sayfa3 yazan yere olması gereken sayfayı yazın.Olmayan bir sayfayı kodlarda niye yazdığınızıda anlamış değilim.:cool:
'
Kod:
On Error Resume Next
Dim say As Integer
Dim i As Integer
say = ListBox1.ListCount
For i = 0 To say - 1
Sheets("[B][COLOR="Red"]sayfa3[/COLOR][/B]").Cells(i, 1) = ListBox1.Column(0, i)
Next i
Me.Hide
UserForm1.Hide
Sheets("sayfa3").PrintPreview ' baskı önizleme için
'Sheets("sayfa3").PrintOut ' yazdırmak için
UserForm1.Show
Me.Show
 

cem yılmaz

Altın Üye
Katılım
23 Aralık 2006
Mesajlar
359
Excel Vers. ve Dili
Office365 TÜRKÇE
Altın Üyelik Bitiş Tarihi
20-10-2026
Asıl dosyamda sayfa 3 vardı ama size gönderdiğim yedek örnek dosyadan silmişim hocam. Sorunum çözüldü teşekkür ederim hocam ellerinize sağlık.
 

cem yılmaz

Altın Üye
Katılım
23 Aralık 2006
Mesajlar
359
Excel Vers. ve Dili
Office365 TÜRKÇE
Altın Üyelik Bitiş Tarihi
20-10-2026
Evren hocam kızmazsanız bir soru daha sormak istiyorum?Şimdi bir sayfaya 56 adet satır sığıyor benim listelediğim veri 200 sayfa olursa bu listelemeyi alt alta devam edecek ve 1 den fazla kağıt kullanmak zorunda kalıcam.Bunu 56. satırdan sonra yan tarafına 112. satır dolunca yan tarafına listelemek mümkünmü?
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Evren hocam kızmazsanız bir soru daha sormak istiyorum?Şimdi bir sayfaya 56 adet satır sığıyor benim listelediğim veri 200 sayfa olursa bu listelemeyi alt alta devam edecek ve 1 den fazla kağıt kullanmak zorunda kalıcam.Bunu 56. satırdan sonra yan tarafına 112. satır dolunca yan tarafına listelemek mümkünmü?
:cool:

'
Kod:
On Error Resume Next
Dim say As Integer
Dim i As Integer
say = ListBox1.ListCount
sat = 1: sut = 1
For i = 0 To say - 1
Sheets("sayfa3").Cells(sat, sut) = ListBox1.Column(0, i)
If sat = 56 Then
    sat = 1: sut = sut + 1
    Else
    sat = sat + 1
End If
Next i
Me.Hide
UserForm1.Hide
Sheets("sayfa3").PrintPreview ' baskı önizleme için
'Sheets("sayfa3").PrintOut ' yazdırmak için
UserForm1.Show
Me.Show
 

cem yılmaz

Altın Üye
Katılım
23 Aralık 2006
Mesajlar
359
Excel Vers. ve Dili
Office365 TÜRKÇE
Altın Üyelik Bitiş Tarihi
20-10-2026
Sağolun Evren hocam size minnetarım
 
Üst