Bestimmte Zeile aus Excel per Makro drucken

  • #1
E

EKathrin

Guest
Hallo,
Ich habe eine ganz dringende Aufgabe, die Kenntnisse von VB erfordert, die ich nicht habe. Ich habe eine Excel Tabelle, die fortlaufend mit neuen Daten ergänz wird. (eine neue Zeile pro Tag) Sobald man eine neue Zeile eingetragen hat, muss diese Zeile in dem entsprechenden Format (als Etikett) gedrukt werden. Entspechende Software habe ich dafür. Wie programmiere ich das in dem Code, so dass diese Zeile gedruckt wird?
Danke vielmals.
 
  • #2
Hallo EKathrin,

wie soll denn das verlaufen.

1. ist die Mappe geöffnet oder soll das Makro die Mappe öffnen
notwendige Angaben: Pfad und Dateiname

2. Soll der Makro so arbeiten, daß er vom aktiven Blatt die letzte Zeile druckt, oder soll er das Blatt auch aktivieren
notwendige Angabe: Blattname

3. Ist das wirklich die ganze Zeile, also 256 Spalten, oder nur bestimmte Spalten
notwendige Angabe: welche Spalten

Gruß Matjes :)
 
  • #3
Hallo,

hier ein Codebeispiel:

Sub Makro1()
Range(A217:H217).Select
ActiveSheet.PageSetup.PrintArea = $A$217:$H$217
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub

Gruß Wilfried
 
  • #4
Danke Matjes erstmal für deine Antwort.
Also, es ist eine Tabelle (nur ein Tabellenblatt), mit 9 Spalten und, wie gesagt, fortlaufenden Zeilen (d.h. die Tabelle wird immer wieder aktualisiert mit neuen Zeilen).
Ich stelle mir das so vor: man öffnet die Tabelle, fügt eine neue Zeile hinzu, druckt auf dem Knopf und die eben eingetragene Zeile wird als Etikett ausgedruckt. In der Druckvorlage sind die Spaltenüberschriften als Textfelder eingetragen, und die neue Daten aus der aktuelle Zeile müssen automatisch neben den Überschriften eingetragen werden. Ich benutze den Etikettendrucker und Software von Brother QL 550
Ich danke noch mal für die Hilfe.
Gruss,
EKathrin
 
  • #5
Hallo EKathrin,

damit ich den Ablauf richtig erkennen kann, bräuchte ich eine Makro-Aufzeichnung.

Dazu müßtest du folgendes machen:

a) einmal etwas aus Excel auf einem anderen Drucker ausgeben
b) Extras->Makos-> Aufzeichnen
(da wirst Du abgefragt z.B.->nach Makro1' -> merken)
c) die letzte Zeile auf deinem Etikettendrucker ausdrucken
d) Extras->Makos-> Aufzeichnung beenden
e) Extras -> Makros -> Makro
dann den gemerkten Namen von b) selketieren -> bearbeiten
(es geht ein Code-Fenster auf)
f) alles, was zwischen Sub Makro1() und End Sub steht  kopieren und posten oder in eine mail und an mein mail-Addy schicken.

Gruß Matjes :)
 
  • #6
mit der Voraussetzung, daß der aktive Drucker der Barcode-Drucker ist:

Code:
Sub LetzteZeileAlsBarcodeDrucken()
  
 ->*** druckt die letzte Zeile Spalte A-I
 ->*** des aktuellen Blattes
 ->*** auf dem aktiven Drucker
  
 ->auszudruckende Spalten
  Const c_SP_anf_print = 1
  Const c_SP_end_print = 9
  
  Dim ws As Worksheet, l_rows As Long
  
  Set ws = ActiveSheet
 ->letzte Zeile feststellen
  l_rows = ws.Cells(ws.Rows.Count, c_SP_anf_print).End(xlUp).Row

 ->*** ggf den Drucker als aktiven Drucker setzen
 ->*** Application.ActivePrinter = Druckername aus dem Druckendialog

 ->Bereich slektieren
  ws.Range(Cells(l_rows, c_SP_anf_print), _
           Cells(l_rows, c_SP_end_print)).Select
  
 ->Ausdruck
  Selection.PrintOut Copies:=1

End Sub

Gruß Matjes :)
 
  • #7
Morgen Matjes,
vielen Dank für deine HIlfe. Ich habe es so gemacht, wie in deine Mail stand und hier mein code:

Sub Makro1()
'
' Makro1 Makro
' Makro am 17.06.2005 von ep aufgezeichnet
' Application.ActivePrinter = Brother QL-550 auf Ne02:
Selection.PrintOut Copies:=1, ActivePrinter:=Brother QL-550 auf Ne02:, _
Collate:=True
End Sub

Da ist im Grunde genommen genau das was ich brauche: ich markiere die gewünschte Zeile, gehe in der Drucker Option, wähle den Drucker und drucke aus. Da klappt aber noch nicht alles gut, weil ich es noch nicht hingekriegt habe die Position der Zeilen auf dem Etikett zuzuweisen. Aber das hat nur mit der Drucker zu tun. Dem muss ich noch bisschen Zeit widmen.
Ich danke dir noch mal für deine Hilfe.
 
Thema:

Bestimmte Zeile aus Excel per Makro drucken

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.839
Beiträge
707.962
Mitglieder
51.492
Neuestes Mitglied
Janus36
Oben