Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Mehrspaltige ListBox drucken

Forumthread: Mehrspaltige ListBox drucken

Mehrspaltige ListBox drucken
03.05.2008 14:52:21
edie
Hallo zusammen,
im Archiv habe ich einen Code gefunden der
die 1 Spalte einer ListBox druckt.
Wie lautet die Syntax, wenn man alle 9 Spalten
einer ListBox drucken möchte.

Private Sub cmdPrint_Click()
Dim Temp As Worksheet
Dim i As Integer
Dim iRow As Integer
On Error GoTo FEHLER
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
iRow = 3
Set Temp = Worksheets.Add
With Temp
If ListBox1.ListIndex > 0 Then
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
Cells(iRow, 1) = ListBox1.List(i)
iRow = iRow + 1
End If
Next
Else
For i = 0 To ListBox1.ListCount - 1
Cells(i + 3, 1) = ListBox1.List(i)
Next
End If
.PrintOut
.Delete
End With
FEHLER:
With Application
.ScreenUpdating = True
.DisplayAlerts = True
End With
End Sub


Kan mir jemand dabei helfen?
Vielen Dank im Voraus.
Grüße

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrspaltige ListBox drucken
03.05.2008 15:12:00
Daniel
HI
so

Private Sub cmdPrint_Click()
Dim Tmp As Worksheet
Set Temp = Worksheets.Add
With ListBox1
Tmp.Cells(1, 1).Resize(.ListCount, .ColumnCount) = .List
Tmp.Cells(1, 1).Resize(, .ColumnCount).EntireColumn.AutoFit
End With
Tmp.PrintOut
Tmp.Delete
End Sub


Gruß, Daniel

Anzeige
AW: Mehrspaltige ListBox drucken
03.05.2008 15:19:00
Gerd
Hi,
mit Option Explicit wäre das nicht passiert.
Ansonsten schöne Lösung.
mfg Gerd

AW: falscher thread?
03.05.2008 15:47:22
Daniel
gruß, Daniel

Nein, richtiger Thread
03.05.2008 16:18:36
Reinhard
Hallo Daniel,
schau mal auf Tmp und Temp :-)
Gruß
Reinhard

Anzeige
AW: Nein, richtiger Thread
03.05.2008 16:23:04
Daniel
Ups
stimmt, das mit dem Tmp hatte ich nachräglich eingebaut und dann nicht mehr getestet.
Gruß, Daniel

AW: korrektur
03.05.2008 15:46:28
Daniel
Hallo
hab grade gesehn, daß du ja nicht die ganze Listbox drucken willst, sondern nur die selektierten Zeilen.
dann gehts so:

Private Sub cmdPrint_Click()
Dim Temp As Worksheet
Dim i As Long, sp As Long
Dim iRow As Long
On Error GoTo FEHLER
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
iRow = 3
Set Temp = Worksheets.Add
With Temp
If ListBox1.ListIndex > 0 Then '--- Selektierte Zeilen
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
 For sp = 1 To ListBox1.ColumnCount
.Cells(iRow, sp) = ListBox1.List(i, sp - 1)
Next
iRow = iRow + 1
End If
Next
Else '--- alle Zeilen
 .Cells(iRow, 1).Resize(ListBox1.ListCount, ListBox1.ColumnCount) = ListBox1.List _
_
End If
.PrintOut
.Delete
End With
FEHLER:
With Application
.ScreenUpdating = True
.DisplayAlerts = True
End With
End Sub


Gruß, Daniel

Anzeige
AW: korrektur
03.05.2008 16:02:00
edie
Hallo Daniel,
was soll ich sagen, einfach - Klasse!!!
Vielen Herzlichen Dank.
Grüße
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18