Clever-Excel-Forum

Normale Version: Drucken über ein Schaltfläche (Formularsteuerelement)
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Sehr geehrte User,

kann mir jemand bei einer VBA Programmierung zu einem Druckauftrag helfen?
Über die Schaltfläche Formularsteuerelement (Druckauftrag) auf dem Tabellenblatt Übersicht 1
soll folgender Druckauftrag über VBA Programmierung in dieser Reihenfolge erfolgen.
Leider weiß ich nicht, wie man es realisieren kann, das die Tabellenblätter Tabelle 1-6 nur gedruckt werden.
Wenn in der Zelle A3 des jeweiligen Tabellenblattes eine Zahl größer als 0 Steht.

- Von dem Tabellenblatt Tabelle 6 soll 1 Stück gedruckt werden,
  wenn in der Zelle A3 von diesem Tabellenblatt eine Zahl größer 0 steht
- Von dem Tabellenblatt Tabelle 5 soll 1 Stück gedruckt werden,
  wenn in der Zelle A3 von diesem Tabellenblatt eine Zahl größer 0 steht
- Von dem Tabellenblatt Tabelle 4 soll 1 Stück gedruckt werden,
  wenn in der Zelle A3 von diesem Tabellenblatt eine Zahl größer 0 steht
- Von dem Tabellenblatt Tabelle 3 soll 1 Stück gedruckt werden,
  wenn in der Zelle A3 von diesem Tabellenblatt eine Zahl größer 0 steht
- Von dem Tabellenblatt Tabelle 2 soll 1 Stück gedruckt werden,
  wenn in der Zelle A3 von diesem Tabellenblatt eine Zahl größer 0 steht
- Von dem Tabellenblatt Tabelle 1 soll 1 Stück gedruckt werden,
  wenn in der Zelle A3 von diesem Tabellenblatt eine Zahl größer 0 steht
- Von dem Tabellenblatt Übersicht 1 soll 1 Stück gedruckt werden

- Von dem Tabellenblatt Tabelle 6 soll 1 Stück gedruckt werden,
  wenn in der Zelle A3 von diesem Tabellenblatt eine Zahl größer 0 steht
- Von dem Tabellenblatt Tabelle 5 soll 1 Stück gedruckt werden,
  wenn in der Zelle A3 von diesem Tabellenblatt eine Zahl größer 0 steht
- Von dem Tabellenblatt Tabelle 4 soll 1 Stück gedruckt werden,
  wenn in der Zelle A3 von diesem Tabellenblatt eine Zahl größer 0 steht
- Von dem Tabellenblatt Tabelle 3 soll 1 Stück gedruckt werden,
  wenn in der Zelle A3 von diesem Tabellenblatt eine Zahl größer 0 steht
- Von dem Tabellenblatt Tabelle 2 soll 1 Stück gedruckt werden,
  wenn in der Zelle A3 von diesem Tabellenblatt eine Zahl größer 0 steht
- Von dem Tabellenblatt Tabelle 1 soll 1 Stück gedruckt werden,
  wenn in der Zelle A3 von diesem Tabellenblatt eine Zahl größer 0 steht
- Von dem Tabellenblatt Übersicht 1 soll 1 Stück gedruckt werden

- Von dem Tabellenblatt Übersicht 2 soll 1 Stück gedruckt werden

Ich bedanke mich im Vorfeld für Eure Hilfe


[attachment=46547]
Hi,

als Ansatz:

Schleife über alle Tabellenblätter
Kontrolle ob in A3 eine Zahl >0 steht
Drucken

Sollen beide Abschnitte ausgeführt werden?
Hy Edgar, danke für deine schnelle Antwort. 
Leider bin ich erst Anfänger in VNA Programmierung 
und weiß nicht was du meinst. Könntest du mir ein Beispiel geben?
MfG Marco
Hi,


Zitat:Von dem Tabellenblatt Tabelle 6 soll 1 Stück gedruckt werden,
  wenn in der Zelle A3 von diesem Tabellenblatt eine Zahl größer 0 steht
- Von dem Tabellenblatt Tabelle 5 soll 1 Stück gedruckt werden,
  wenn in der Zelle A3 von diesem Tabellenblatt eine Zahl größer 0 steht
- Von dem Tabellenblatt Tabelle 4 soll 1 Stück gedruckt werden,
  wenn in der Zelle A3 von diesem Tabellenblatt eine Zahl größer 0 steht
- Von dem Tabellenblatt Tabelle 3 soll 1 Stück gedruckt werden,
  wenn in der Zelle A3 von diesem Tabellenblatt eine Zahl größer 0 steht
- Von dem Tabellenblatt Tabelle 2 soll 1 Stück gedruckt werden,
  wenn in der Zelle A3 von diesem Tabellenblatt eine Zahl größer 0 steht
- Von dem Tabellenblatt Tabelle 1 soll 1 Stück gedruckt werden,


...umständlicher geht es kaum noch... 
Das Ganze wäre wesentlich übersichtlicher, wenn Du geschrieben hättest:

Wenn in Zelle A3 der Tabellenblätter Tabelle1 bis Tabelle6 (fortlaufende Nummerierung),  jeweils eine Zahl > 0 steht...

Und dementsprechend müsste auch die zu programmierende Bedingung formuliert werden...

PHP-Code:
dim x as byte
for 1 to 6
    
with Worksheets
("Tabellenblatt " x)
    if isnumeric( .Cells(3,1).valuethen if cint(.Cells(3,1).value) > 0 then .PrintOut Copies:=1Collate:=True, IgnorePrintAreas:=False 
end with
next x 


Den Rest schau ich mir nicht an...