975 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo, liebe Usergemeinde,

an unserer Barkasse werden kaum mehr Quittungen verlangt, weshalb wir keine Blöcke mehr kaufen, sondern ich habe eine Tabelle (excel 2010) zu einem Blankoformular formatiert;

ich kann aber dem Drucker nicht einfach sagen, mach mir so und so viele Exemplare, weil
- die Formulare eine aufsteigende Belegnummer bekommen sollen
und
- jeder Beleg 2x ausgedruckt werden soll (der Durchschlag soll noch ganz altbewährt mit Blaupapier erzeugt werden);

beide Aufgaben habe ich in Minimakros gepackt, die zwei in einem weiteren Makro zusammengeschlossen;

wie muss nun das Makro gebaut sein, mit dem ich dem Drucker den Auftrag erteilen kann, führe dieses Makro 30 x oder 50 x oder YY x aus?

Danke im Voraus! witzling.

7 Antworten

0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^^

ein Beispiel

gruss nighty

'Aufruf call Start(DeineAnzahl)

Sub Start(Anzahl As Integer)
Dim Anz As Integer
For Anz = 1 To Anzahl
'Dein DruckMakro bzw Code
Next Anz
End Sub
0 Punkte
Beantwortet von
Hallo, @nightiy,

hab Deine Antwort grad studiert, kann aber heute vermutlich sowieso nicht mehr an den großen Rechner, hier am Notebook läuft zu Zeit kein msoffice, muss mit dem Test also noch warten;

ich nutze das, um gleich eine Dummie-Rückfrage zu stellen:

was bedeutet 'Aufruf call Start(DeineAnzahl) ?

gehört das zum Makro (= muss ich es dann mit kopieren) - das ' lässt es mich vermuten?
ist es eine Anleitung? wenn ja: ich versteh leider nicht, was ich tun muss?

Danke, wenn Du mir weiter Anweisungen gibst! witzling
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi witzling ^^

das ist richtig ,mit vorrangestellten ' sind kurz Beschreibungen zum code

mit
Call Start(DeineAnzahl) rufst du aus beliebigen makros das makro auf

die variable DeineAnzahl kann auch eine zelle sein oder eine Inputbox

gruss nighty
0 Punkte
Beantwortet von
ganz großen Dank!!
als Erstes für Deine Geduld mit Anfängern; ich habe ja schon oft genug in VBAScripts reingeguckt und hätte wissen müssen, wie die Makro-Namen dargestellt sind;

sobald unser Rechner frei ist, werde ich mich mal dranmachen, aus Supportnet rauskopieren und nicht mühsam abschreiben habe ich ja inzwischen gelernt ...;

unmöglich ist es nicht, dass ich das nicht umsetzen kann:

mit
Call Start(DeineAnzahl) rufst du aus beliebigen makros das makro auf


ich melde mich wieder ...
und ich glaube, Du kannst meiner Frage den grünen OK-Punkt geben!
Gruß, witzling
0 Punkte
Beantwortet von
Hallo, nighty,

sitze grad drüber, Dein Makro einzubauen - nun formatiert VBE die erste Zeile
Start(Anzahl As Integer)


rot!!!
- ???
Danke für Deine Hilfe! witzling
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi Witzling ^^

hier noch ein paar Beispiele :-)

gruss nighty

1) Beispiel
In A1 steht z.b. eine 3,dann wird das Makro Start 3 mal ausgefuehrt

Sub Mehrmals()
Call Start(Cells(1, 1))
End Sub

Sub Start(Anzahl As Integer)
Dim Anz As Integer
For Anz = 1 To Anzahl
'Dein code
Next Anz
End Sub

2) Beispiel

Eine Inputbox fordert dich zu einer eingabe auf

Sub Mehrmals()
Dim Eingabe As Integer
Eingabe = InputBox("Bitte um Eingabe einer Zahl")
Call Start(Eingabe)
End Sub

Sub Start(Anzahl As Integer)
Dim Anz As Integer
For Anz = 1 To Anzahl
'Dein code
Next Anz
End Sub

3) Beiispiel

Sub Start()
Dim Anz As Integer
Dim Eingabe As Integer
Eingabe = InputBox("Bitte um Eingabe einer Zahl")
For Anz = 1 To Eingabe
'Dein code
Next Anz
End Sub

4) Beispiel

3= Anzahl von wirderholungen
Die 3 muss dann angepasst werden

Sub Start()
Dim Anz As Integer
For Anz = 1 To 3
'Dein Code
Next Anz
End Sub
]
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

im 4 Beispiel am ende das zeichen ] löschen
hatte sich wohl eingeschmuggelt

gruss nighty
...