Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1488to1492
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

Vba Bereich drucken

Vba Bereich drucken
24.04.2016 14:17:28
Michael
Hallo an alle,
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

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vba Bereich drucken
25.04.2016 09:12:46
fcs
Hallo Michael,
man kann die Daten wahrscheinlich mit Anpassungen am Makro übertragen.
Aber eine Beispieldatei mit anonymisierten Personendaten wäre sehr hilfreich.
Gruß
Franz

AW: Vba Bereich drucken
26.04.2016 10:04:43
fcs
Hallo Michael,
ich hab mir die Datei mal angesehen.
  • 1. Die Listbox1 mit den Nachnamen läßt nur die Auswahl eines Namens zu, dessen zugehörige Daten dann bei Auswahl in den Textboxen angezeigt werden.

  • 2. Anzeigen/Ändernden/Löschen Datensatz
    Du hast die Suche nach dem zu ändernden/löschenden Datensatz auf dem Vergleich der Nachnamen aufgebaut.
    Damit kannst du keine identischen Nachnamen verarbeiten. Besser wäre hier, die Personal-Nr. zu verwenden, um die richtige Zeile im Blatt Stammdaten zu finden. Alternativ könnte man in der Listbox1 beim Erstellen der Auswahlliste mit den Nachnamen in einer 2. Spalte der Listbox die Nummer der Zeile eintragen. Dann kann diese zum Ändern/Löschen/Anzeigen von Daten direkt aus der Listbox entnommen werden und der Umweg über die Suche via Do...Loop entfällt.

  • 3. Drucken ausgewählte Stammdaten
    Hierfür ist zum Drucken der Daten mehrerer Mitarbeiter eine Listbox mit Mehrfachauswahl erforderlich.
    Der einfachste Weg dürfte sein eine weitere Listbox hierfür einzurichten. In dieser wird der in Listbox1 gewählte MA autimatisch markiert, weitere MA können bei Bedarf hinzugewählt werden.

  • Unload/Show für das Userform
    Mehrfach schließt du per "Unload" das Userform und zeigst es dann per "Show" wieder an, wenn eine Aktion abgebrochen wird/nicht zulässig ist.
    Das ist nicht ideal, da diese Aktionen in einander geschachtelt werden. Besser ist es in solchen Fällen einen Reset der Steuerelemente durchzuführen (Textfelder leeren, Listboxen/Comboboxen auf Listindex -1 setzen.

  • Ich werde mal versuchen dein Userform bezüglich Ducken_Stammdaten anzupassen.
    Um die anderen Punkte müsstets du dich ggf. selber kümmern.
    Gruß
    Franz

    Anzeige
    AW: Vba Bereich drucken
    27.04.2016 02:07:19
    fcs
    Hallo Michael,
    ich hab jetzt in die Userform eine zusätzliche Listbox und Schaltflächen eingefügt.
    Für das Füllen der beiden Listboxen gibt es eine zusätzliche Prozedur, die bei der Initialisierung des Userforms gestartet wird.
    https://www.herber.de/bbs/user/105281.xlsm
    Gruß
    Franz

    AW: Vba Bereich drucken
    27.04.2016 17:08:39
    Michael
    Hallo Franz,
    vielen Dank für deine Hilfe! Das mit den Namen/Personalnummer habe ich in meiner Version schon abgeändert! Den Tip habe ich schon von Werner bekommen (Danke auch nochmals an Werner). Der Grund das ich die Namen gewählt habe, war der, dass ich noch nicht alle Personalnummern zur Verfügung hatte.
    Der Punkt unload/show wird auch sofort umgesetzt! Habe nähmlich den einen oder anderen Laufzeitfehler bekommen nachden ich Änderungen gespeichert habe. Ich denke das war der Grund für diese Fehler. Die Änderungen wurden aber korrekt gespeichert und nach Neustart der Datei ging dann alles wieder! Mit Änderungen. (Hast mir somit das nächste Problem gleich mit gelöst.
    Das mit dem Drucken war das was ich mir vorgestellt habe. Leider geht es ja nicht aus der vorhanden Textbox, somit werde ich deine Listbox in eine seperate Userform packen und diese dann über einen cmd Button laden.
    Nochmals vielen vielen Dank Franz!
    Bist dahin
    Michael
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige