kann man den Code unten dafür ändern?
Ich möchte eine oder mehrere Personen in der ListBox1 markieren und dann die den Personen zugeordneten Spalten A,B,C,H,I,J,L,N,O,P,Q Tabellenblatt Stammdaten kopieren und dann in das Tabellenblatt Drucken_Stammdaten einfügen und ausdrucken.
Geht das?
Gruß Michael
Private Sub cmdDrucken_Stammdaten_Click()
' DRUCKEN
Dim zeLB As Long, spLB As Long
Dim zeTB As Long, spTB As Long
Dim allesDrucken As Boolean
' Zellen leeren
Range("Drucken_Stammdaten!A1:P1000") = ""
' Querformat festlegen
Worksheets("Drucken_Stammdaten").PageSetup.Orientation = xlLandscape
'--- Drucker auswählen
Application.Dialogs(xlDialogPrinterSetup).Show
'-- Prüfen, ob alles gedruckt werden muss
For zeLB = 0 To ListBox1.ListCount - 1
allesDrucken = allesDrucken Or ListBox1.Selected(zeLB)
Next
zeTB = 1
'--- selektierte Listboxeinträge in Zellen schreiben
For zeLB = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(zeLB) Or Not allesDrucken Then
zeTB = zeTB + 1
For spLB = 0 To ListBox1.ColumnCount - 1
Sheets("Drucken_Stammdaten").Cells(zeTB, spLB + 1) = ListBox1.List(zeLB, spLB)
Next
End If
Next
Sheets("Drucken_Stammdaten").Visible = True
' Drucke Tabellenblatt
Worksheets("Drucken_Stammdaten").PrintOut
End Sub