ListBoxtaki verileri yazdırmak

Katılım
8 Ekim 2004
Mesajlar
317
Excel Vers. ve Dili
EXCEL 2003 TÜRKÇE
ListBox1' e aldığım verileri yazdırmak istiyorum aşağıdaki kodu düzeltebilirmiyiz. Hayırlı çalışmalar

Kod:
Private Sub CommandButton5_Click()
ListBox1.Select
With ActiveSheet.PageSetup
.PaperSize = xlPaperA4: .CenterHorizontally = True: .Orientation = xlPortrait
.Zoom = False: .FitToPagesWide = 1: .FitToPagesTall = 1
End With
Unload Me
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End Sub
 
Katılım
7 Temmuz 2004
Mesajlar
1,141
1. Listbox ı doldururken kullandığınız kodu kullanıp boş bir excel sayfasına sırayla yazdırın. daha sonra bu sayfayı print edin.

2. userform1.print i kullanın. print etmeden önce görünmesini istemediğiniz kontrollerin visible'ını "false" yapın.
 
Katılım
8 Ekim 2004
Mesajlar
317
Excel Vers. ve Dili
EXCEL 2003 TÜRKÇE
Alpen Bey anlayamadım. Biraz daha bilgi verebilirmisiniz.

1- Eğer ListBox1' e Cod kullanmadan RawSource özelliğini kullanarak veri alıyorsak nasıl yapmalıyız?

Boş bir excel sayfasına sırayla yazdır derken ListBoxtaki verilerimi kastettiniz anlayamadım.

2-UserForm1 Print i kullanın demişsiniz bu konudada bilgi verebilirmisiniz.

Yardımlarınızdan dolayı sizlere tekrar teşekkürlerimi iletirim. Sağlıcakla kalınız.
 
Katılım
7 Temmuz 2004
Mesajlar
1,141
1- Eğer ListBox1' e Cod kullanmadan RawSource özelliğini kullanarak veri alıyorsak nasıl yapmalıyız?
örneğin listbox'ın rowsource'u EVRAK DEFTERİ sayfasındaki E6:I10

burayı yazdırmak için
Kod:
Worksheets("EVRAK DEFTERİ").Range("E6:I10").PrintOut Copies:=1, Collate:=True
2-UserForm1 Print i kullanın demişsiniz bu konudada bilgi verebilirmisiniz.
pek verilecek bilgi yok. olduğuğu gibi userform'u görüntü olarak yazıcıya gönderir.
 
X

xxrt

Misafir
Bu Kodları Userformun General_Declarations kısmına
Kod:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Bu Kodları CommandButton1'in içine

Kod:
Private Sub CommandButton1_Click()
Dim MyArray() As String * 15
Dim LBoxText As String
Dim FormhWnd As Long
Dim i As Byte, j As Byte
ReDim MyArray(ListBox1.ListCount, ListBox1.ColumnCount)
MyQ = MsgBox("ListBox nesnesindekiler yazdırılsın mı ?", vbYesNo + vbQuestion, Me.Caption)
If MyQ = vbNo Then GoTo 100
If Application.Version < 9 Then
FormhWnd = FindWindow("ThunderXFrame", Me.Caption)
Else
FormhWnd = FindWindow("ThunderDFrame", Me.Caption)
End If
LBoxText = "C:\ListBoxText.txt"
Do
For j = 0 To ListBox1.ColumnCount - 1
MyArray(i, j) = ListBox1.List(i, j)
Next
i = i + 1
If i >= ListBox1.ListCount Then Exit Do
Loop
Open LBoxText For Output As #1
For j = 0 To ListBox1.ListCount
Print #1, MyArray(j, 1); MyArray(j, 2); MyArray(j, 3)
Next
Close #1
ShellExecute FormhWnd, "Print", LBoxText, vbNullString, "C:\", 0
Application.Wait Now + TimeValue("00:00:02")
Kill LBoxText
Erase MyArray()
100 End Sub
Dosya ekte.
 
Katılım
8 Ekim 2004
Mesajlar
317
Excel Vers. ve Dili
EXCEL 2003 TÜRKÇE
hocam gönderdiğiniz örneği açamadım çünkü bilgisayarımda kurulu olan Wınrar sıkıştırma programı deneme sürimü olduğundan süresi doldu şu anda dosyalırı açamıyorum vinzip sıkıştırma programıyla sıkıştırıp gönderebilirmisiniz yada. Wınrarı tekrar yüklemem için bir öneride bulunurmusunuz hayırlı çalışmalar.
 
Katılım
8 Ekim 2004
Mesajlar
317
Excel Vers. ve Dili
EXCEL 2003 TÜRKÇE
xxrt demişki

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
ListBox1 deki verileri yazdırmak için ;

Gönderilen Codu UserFormun

Privatse Sub General_Declaration kısmına kopyaladım
diğer koduda CommandButton'a kopyaladım hata verdi acaba nerede hata yaptım
 
X

xxrt

Misafir
Benim Uyarladığım Dosya sizin dosyanız..Bir yerlerde hata yapıyor olmalısınız..
 
Katılım
8 Ekim 2004
Mesajlar
317
Excel Vers. ve Dili
EXCEL 2003 TÜRKÇE
Hocam sorun giderilmiştir. Verdiğiniz bilgiler için sonsuz teşekkürler
 

mrt

Katılım
11 Mayıs 2005
Mesajlar
167
Excel Vers. ve Dili
office 2003 tr & eng.
office 2007 tr & eng.
uygulamada hata verdi

Belirttiğiniz kodları ilpğili bölümlere yazdığımda ve parogramı çalıştırdığımda

Run Time Error '381':
Could not get the List property. Invalid property array index.

Mesajı belirmektedir ve Debug düğmesini tıkladığımda aşağıdaki kodlar sararmaktadır.

MyArray(i, j) = ListBox1.List(i, j)

Problemi nasıl çözerim ?

Teşekkürler.
 
Üst