• DİKKAT

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

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
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
 
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.
 
adszbqp.jpg


sizin dediğiniz gibi vba kodlarını command buttona atadım sonuç yine aynı hiç bir işlem yapamıyorum resimdeki gibi donuyor.
 
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:
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ı?
 
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.
 
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ı?
 
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

Kodlarda bir hata yok.
Örnek bir dosya yollayabilirmisiniz?:cool:
 
Hani yazdırma yapmadı.Kodları yazmadınızmı.Hatayı kontrol edecektik ya.:cool:
 
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
 
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.
 
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ü?
 
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
 
Geri
Üst