Clever-Excel-Forum

Normale Version: Markenexcel
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo @ All! :)

In der angefügten Excel würde ich gerne folgendes machen:
in dem Tabellenblatt "Markendruck" hätte in den gelben Zellen immer gerne den Namen des Tabellenblattes "Datenblatt".
d.h. wenn ich das Blatt drucken würde sollte eine Essenmarke für den genannten Mitarbeiter für den jeweiligen Tag ausgedruckt werden, sprich der Name Huber Herbert sollte bei jedem Datum dabei stehen und nur auf dem gleichen Blatt sein.

Könnte man hier einen Macro oder vl. auch eine andere Möglichkeit erstellen, wenn man auf "drucken" geht, dass hier alle Namen in der "Datenblatt" Liste auf das "Markendruck" Blatt umgefüllt werden und jeweils für einen Mitarbeiter 1 Zettel ausgedruckt wird?

Ich hoffe ich habe es nicht all zu kompliziert erklärt :)

Danke & lg.
Moin!
Warum nimmst Du nicht den Seriendruck von Word und steuerst ihn mit der Excel-Liste an?
Dann brauchst Du auch kein VBA.

Ich schreib Dir dennoch mal ein kleines Makro; ist ja kein Hexenwerk …

Gruß Ralf
And here it is:


Sub Seriendruck()
Dim Zelle As Range
With Worksheets("Datenblatt")
  For Each Zelle In .Range(.Range("D2"), .Range("D2").End(xlDown))
    With Worksheets("Markendruck")
      .Range("A3:J3,A6:J6,A9:J9,A12") = Zelle
      .PrintOut
    End With
  Next
End With
End Sub
Alles klar! Danke schon mal dafür!
Was ich jedoch nicht ganz verstehe ist, warum er einen Teil mit den Namen ausdruckt und zum Schluss leere Zetteln druckt. Sprich auch mit Datum und Marke aber ohne Name.


Die Anzahl der Namen den ich einfügen werde ist nämlich nicht immer gleich, sprich einmal sind es alle Mitarbeiter, ein anderes mal nur die Hälfe.

lg.
Sind die Zellen der Spalte D tatsächlich leer oder hat sich da ein Leerzeichen oder eine Formel, die einen Leerstring ausgibt versteckt?
Bei Deiner hochgeladenen Datei funktioniert mein Makro einwandfrei und ist dynamisch!
(ich habe natürlich .PrintPreview statt .PrintOut genommen Wink)
Zusatz:
Wo landest Du, wenn Du D2 markierst und Strg+PfeilUnten drückst?
Viel schneller:  ;)


Code:
Sub M_snb()
  sn = Sheets("Datenblatt").Columns(4).SpecialCells(2)
 
  For j = 2 To UBound(sn)
    With Sheets("Markendruck").Range("A3:J3,A6:J6,A9:J9,A12")
       .Value = sn(j, 1)
'      .PrintOut
    End With
  Next
End Sub
(13.06.2018, 12:42)snb schrieb: [ -> ]Viel schneller:  ;)
:19:
Schenkst Du mir Deinen Drucker, der schneller als mein Code ist?
Wink
Habs geschafft :D :D
Danke euch für die schnelle Hilfe! :)

lg.