Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1024to1028
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

über ComboBox Liste Variabel Druck

über ComboBox Liste Variabel Druck
23.11.2008 14:57:11
Angela
Hallo
habe ein Macro mit dem ich in ein Formular über eine ListBox Drucke.
Hierbei wird aber die ganze Listbox mitgenommen.
Möchte gern das ich von den variablen 30 Namen in der Listbox nur 2, oder 5, oder 18 Drucken kann.

Private Sub CommandButton1_Click()
Dim Zeile As Long
On Error GoTo Fehler
With Me.ListBox1 'Namen der Combobox ggf. anpassen
Zeile = .ListCount
For Zeile = 0 To Zeile - 1
.ListIndex = Zeile
Me.Calculate 'Tabellenblatt neu berechnen
If .Value  "" Then 'Bei leeren Einträgen nicht drucken
With Worksheets("Nichtang.") 'zu druckendes Tabellenblatt
PrintOut 'Drucken des Tabellenblatts
'.PrintPreview 'Seitenvorschau des Tabellenblatts
End With
End If
Next
End With
Fehler:
With Err
If Err  0 Then
MsgBox "Fehler-Nr. " & .Number & vbLf & .Description
End If
End With
End Sub


Mfg. Angela

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: über ComboBox Liste Variabel Druck
24.11.2008 12:43:00
fcs
Hallo Angela,
da die Listbox1 bei dir scheinbar einer Zelle verknüpft ist, müsstes du für das Drucken von mehreren Namen eine 2. Listbox mit der gleichen Auswahlliste erstellen. Für die 2. Liste stellst du die Eigenschaft "MultiSelect" auf "frmMultiSelectMulti" oder "frmMultiSelectExtended". Dann kannst du mehrere Listeneinträge markieren.
Das Makro muss dann etwa wie folgt aussehen:

Private Sub CommandButton1_Click()
Dim Zeile As Long
On Error GoTo Fehler
With Me.ListBox2 'Namen der Combobox ggf. anpassen
Zeile = .ListCount
For Zeile = 0 To Zeile - 1
If .Selected(Zeile) = True Then
Me.ListBox1.ListIndex = Zeile
Me.Calculate 'Tabellenblatt neu berechnen
If Me.ListBox1.Value  "" Then 'Bei leeren Einträgen nicht drucken
Me.ListBox1.Select
With Worksheets("Nichtang.") 'zu druckendes Tabellenblatt
PrintOut 'Drucken des Tabellenblatts
'.PrintPreview 'Seitenvorschau des Tabellenblatts
End With
End If
End If
Next
End With
Fehler:
With Err
If Err  0 Then
MsgBox "Fehler-Nr. " & .Number & vbLf & .Description
End If
End With
End Sub


Alternativ kannst du deine Listbox1 auf Multiselect umstellen und die Listbox nicht mit einer Zelle verknüpfen. Das Makro muss dann die selektierten Einträge vor dem Drucken ins Tabellenblatt eintragen.


Private Sub CommandButton1_Click()
Dim Zeile As Long
On Error GoTo Fehler
With Me.ListBox1 'Namen der Combobox ggf. anpassen
Zeile = .ListCount
For Zeile = 0 To Zeile - 1
If .Selected(Zeile) = True Then
'Selektierten Eintrag in Zelle eintragen. Tabelle und Zelle ggf. anpassen
Worksheets("Nichtang.").Range("E1") = .List(Zeile, 0)
Me.Calculate 'Tabellenblatt neu berechnen
If .List(Zeile, 0)  "" Then 'Bei leeren Einträgen nicht drucken
With Worksheets("Nichtang.") 'zu druckendes Tabellenblatt
'.PrintOut 'Drucken des Tabellenblatts
.PrintPreview 'Seitenvorschau des Tabellenblatts
End With
End If
End If
Next
End With
Fehler:
With Err
If Err  0 Then
MsgBox "Fehler-Nr. " & .Number & vbLf & .Description
End If
End With
End Sub


Gruß
Franz

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige