Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datensatz drucken, nächster, drucken, nächster

Forumthread: Datensatz drucken, nächster, drucken, nächster

Datensatz drucken, nächster, drucken, nächster
17.06.2016 15:42:02
Dustbin2001
Hallo,
habe ein Excel-Tabellenblatt "Profil" erstellt, welches Informationen aus einem anderen Tabellenblatt mittels SVerweis und Summewenns holt. Hierfür muss ich auf dem Tabellenblatt "Profil" in Zelle B3 lediglich über einen Dropdown eine Nummer auswählen und die Daten werden neu gelesen. Die Dropdown ist über eine Datenüberprüfung vom Typ "Liste" erstellt. Die Liste hierbei ist variabel.
Nun möchte ich über ein Makro folgendes tun:
1. aktuelles Arbeitsblatt drucken (bekomme ich über Makroaufzeichnen hin)
2. Zelle B3 auf den nächsten Datensatz aus der "Liste" ändern
3. neu ausgelesenes Arbeitsblatt drucken
4. Zelle B3 auf den nächsten Datensatz aus der "Liste" ändern
5. drucken,
6. usw, ...
Solange bis in "Liste" keine Daten mehr vorhanden sind.
Leider sind meine VBA Kenntnisse bescheiden, von daher hoffe ich auf Eure Unterstützung!
Danke u. Gruß
Dustbin

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Nachfrage..
17.06.2016 16:41:15
UweD
Hallo
wo liegt denn die Liste mit den einzelnen Datensätzen?
In einem extra Tabellenblatt?
Hast du eine Musterdatei?
LG UweD

AW: Nachfrage..
20.06.2016 14:42:22
Dustbin2001
Die Liste liegt in einem separaten Tabellenblatt innerhalb der gleichen Datei

AW: Nachfrage..
20.06.2016 15:43:23
UweD
OK.
dann versuch es so.

Sub Drucken()
Dim Rng As Range, Zelle, TB
Set Rng = Sheets("Tabelle2").Range("A2:A20") 'anpassen
Set TB = Sheets("Tabelle1")
For Each Zelle In Rng.SpecialCells(xlCellTypeConstants, 3)
TB.Range("B3") = Zelle.Value
TB.PrintOut
Next
End Sub
Gruß UweD

Anzeige
AW: Nachfrage..
20.06.2016 16:23:25
Dustbin2001
Hallo Uwe,
perfekt - funktioniert genau so wie gewünscht. Danke!
Grüße
Steffen

bitteschön owT
20.06.2016 17:02:04
UweD
;
Anzeige
Anzeige

Infobox / Tutorial

Datensatz drucken in Excel mit VBA automatisieren


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle zwei Tabellenblätter: eines namens "Profil" und das andere "Tabelle2", das deine Datensätze enthält.

  2. Erstelle die Dropdown-Liste in Zelle B3 des Blattes "Profil":

    • Wähle Zelle B3 aus.
    • Gehe zu Daten > Datenüberprüfung > Liste und wähle den Bereich aus, der deine Werte enthält.
  3. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  4. Füge das folgende Makro ein:

    Sub Drucken()
       Dim Rng As Range, Zelle, TB
       Set Rng = Sheets("Tabelle2").Range("A2:A20") 'Anpassen an deinen Datenbereich
       Set TB = Sheets("Profil")
       For Each Zelle In Rng.SpecialCells(xlCellTypeConstants, 3)
           TB.Range("B3") = Zelle.Value
           TB.PrintOut
       Next
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro aus:

    • Drücke ALT + F8, wähle "Drucken" aus und klicke auf Ausführen.

Das Makro wird nun alle Datensätze aus "Tabelle2" durchlaufen, die in der Dropdown-Liste ausgewählt werden, und das Arbeitsblatt "Profil" entsprechend ausdrucken.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004"
    Lösung: Stelle sicher, dass der Bereich Range("A2:A20") in deinem "Tabelle2" korrekt ist und tatsächlich Werte enthält.

  • Fehler: "Kein Drucker gefunden"
    Lösung: Überprüfe, ob ein Drucker installiert und korrekt konfiguriert ist, bevor du das Makro ausführst.

  • Dropdown zeigt keine Werte an
    Lösung: Vergewissere dich, dass der Bereich für die Datenüberprüfung richtig eingestellt ist und dass die Liste tatsächlich Werte enthält.


Alternative Methoden

Eine alternative Methode, um Datensätze zu drucken, könnte die Verwendung von Excel-Formeln anstelle von VBA sein. Du kannst auch die Drucken-Funktion von Excel direkt nutzen, um die Daten manuell auszuwählen und zu drucken.


Praktische Beispiele

Wenn du eine Liste von Kunden hast und für jeden Kunden ein spezifisches Dokument drucken möchtest, kannst du folgendes Setup verwenden:

  • Tabellenblatt "Tabelle2" enthält die Kunden-ID in Spalte A.
  • Tabellenblatt "Profil" zeigt die Kundendaten basierend auf der Auswahl in Zelle B3.
  • Nutze das oben angegebene Makro, um für jeden Kunden die entsprechende Rechnung zu drucken.

Tipps für Profis

  • Fehlerbehandlung im VBA: Implementiere On Error Resume Next, um Laufzeitfehler abzufangen und das Makro ungestört weiterlaufen zu lassen.

  • Druckeinstellungen anpassen: Nutze With ActiveSheet.PageSetup im Makro, um spezifische Druckeinstellungen wie Ränder oder Ausrichtung festzulegen.

  • Variablen dynamisch anpassen: Verwende Dim Rng As Range, um Ranges dynamisch anzupassen, statt feste Zelladressen zu benutzen.


FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um nur bestimmte Datensätze zu drucken?
Du kannst die Bedingung in der For-Schleife ändern, um nur bestimmte Werte zu drucken, z.B. durch Hinzufügen einer If-Abfrage.

2. Funktioniert dieses Makro in allen Excel-Versionen?
Das Makro sollte in den meisten modernen Excel-Versionen funktionieren, jedoch kann es in sehr alten Versionen Unterschiede geben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige