3.2k Aufrufe
Gefragt in Tabellenkalkulation von korfuweb Mitglied (949 Punkte)
Hallo Spezialisten,
hier mal wieder ein Problemchen

Suche ein Makro wie ich folgendes durchführen kann:
Habe eine Tabelle in der Aufträge verwaltet werden was bedeutet - in Spalte A steht
die Auftragsnummer (z.B. 1)
Nun möchte ich eigentlich nur ein Macro das mir alle Aufträge einzeln druckt

Das Makro sollte also automatisch in Spalte A mit Autofilter 1 auswählen - drucken,
dann 2 auswählen drucken - dann 3 auswählen drucken usw.

Wie kann ich das bewerkstelligen ?

Danke für eure Hilfe

mfg Volker

6 Antworten

0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Volker,

Mit Makro aufzeichnen (relativer Verweis) wäre eine Möglichkeit, ob es in das Konzept passt ist eine andere Frage.

Beschreibung

Die Struktur der Datei müsste eventuell dementsprechend geändert werden, aber da ist Deine Kreativität gefragt.

Mehr kann ich Dir über VBA mangels ausreichender Kenntnisse leider nicht erzählen.

schöne Grüße

Paul1
0 Punkte
Beantwortet von korfuweb Mitglied (949 Punkte)
Tja das mit dem aufzeichen hab ich mir auch schon überlegt, sollte
sogar funktionieren, aber irgenwie muss ich ihm zumindest sagen
können - bei welchem Auftrag der Druck gestoppt werden soll.

Gruß Volker
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Volker,

Jeweils nach Auswahl des Auftrages wird mittels Tastenkombination oder Button der Druckauftrag pro Auftrag einzeln gestartet und ist der Job anschließend beendet.
So gesehen ist dies der letzte gedruckte Auftrag bis zur Auswahl des nächsten Auftrages usw.

Wenn mehrere Aufträge in Serie gedruckt werden sollen, bedarf es glaube ich eines maßgeschneiderten Makros.

Aus Deiner Anfrage geht aber eindeutig hervor, dass die Aufträge einzeln ausgedruckt werden sollen, oder täusche ich mich.

schöne Grüße

Paul1
0 Punkte
Beantwortet von korfuweb Mitglied (949 Punkte)
Hallo Paul1,

nein die Aufträge sollen eigentlich schon komplett mit einem
Druckbefehl gedruckt werden - allerdings jeweils über gesetzten Filter.
Also filtere: Auftrag 1 - dann drucken, filtere Auftrag 2 dann drucke - usw.

Deshalb benötige ich ein Macro das sagt
z.B. Drucke Auftrag 1-99 ! und dann legt er los mit filtern und drucken.

Gruß
Volker
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Volker,

Alles klar, ich weiß zwar jetzt ganz genau wie Du es brauchst, aber mit meinen wie bereits eingangs erwähnten VBA-Kenntnissen (gleich Null) kann ich nicht behaupten, ob es so umsetzbar wäre.

Meiner Meinung nach liegt es aber auch daran, wie die Datei (Tabelle) strukturiert ist und mit welchen Formeln die Datei aufbereitet werden müsste, also wäre möglicherweise noch eine Menge an Vorarbeit zu leisten.

Vielleicht kann ich diesbezüglich noch was recherchieren, oder es gibt noch einen Spielraum für Flexibilität.

Die von mir empfohlene Einzellösung ist jedoch machbar.

bis dahin,
schöne Grüße


Paul1
0 Punkte
Beantwortet von tomschi Mitglied (879 Punkte)
Hallo Volker!

Ich bin auch kein VBA-Profi aber mein Vorschlag sieht wie folgt aus:

Sub Druck()
Application.ScreenUpdating = False

var01 = Sheets(1).Range("A65536").End(xlUp).Row

Dim Wiederholung As Integer
For Wiederholung = 2 To var01
var02 = Cells(Wiederholung, 1).Text
Selection.AutoFilter Field:=1, Criteria1:=var02
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
'alle Filter entfernen
With ActiveWorkbook.ActiveSheet
If .FilterMode Then
.ShowAllData
End If
End With
Next Wiederholung
End Sub

Schönes Pfingst-Wochenende!

Tom
...