Anzeige
Archiv - Navigation
1900to1904
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro

Makro
24.09.2022 19:12:12
Udo
Hallo
Ich hab da mal ne Frage zu den Makros
Ich habe eine Tabelle mit einigen Makros, ich habe nun ein Makro erstellt um die einzelnen Makros anzuwählen.
Es funktioniert, aber gäbe es da nicht eine Einfachere Lösung wie meine?
Vielen Dank für eure Mühe
Hier das Makro mit den ich alle Makros ansteuere

Sub Anfangsdruck_Gesamt_A()
Call Anfangsdruck_SP1
Call Anfangsdruck_benötigte_Blätter
Call Anfangsdruck_Spielpaarungen_A
Call Anfangsdruck_Deckblatt_A
End Sub
Hier alle anzuwählenden Makros

Sub Anfangsdruck_Spielpaarungen_A()
Sheets("Spielpaarungen").Select
Call markiere_A
Call Druckehinrunde
Sheets(Array("Spielpaarungen")).PrintOut
Call Druckerückrunde
Sheets(Array("Spielpaarungen")).PrintOut
End Sub

Sub Anfangsdruck_Spielpaarungen_B()
Sheets("Spielpaarungen").Select
Call markiere_B
Call Druckehinrunde
Sheets(Array("Spielpaarungen")).PrintOut
Call Druckerückrunde
Sheets(Array("Spielpaarungen")).PrintOut
End Sub

Sub Anfangsdruck_Spielpaarungen_C()
Sheets("Spielpaarungen").Select
Call markiere_C
Call Druckehinrunde
Sheets(Array("Spielpaarungen")).PrintOut
Call Druckerückrunde
Sheets(Array("Spielpaarungen")).PrintOut
End Sub

Sub Anfangsdruck_Spielpaarungen_D()
Sheets("Spielpaarungen").Select
Call markiere_D
Call Druckehinrunde
Sheets(Array("Spielpaarungen")).PrintOut
Call Druckerückrunde
Sheets(Array("Spielpaarungen")).PrintOut
End Sub

Sub Anfangsdruck_Spielpaarungen_E()
Sheets("Spielpaarungen").Select
Call markiere_E
Call Druckehinrunde
Sheets(Array("Spielpaarungen")).PrintOut
Call Druckerückrunde
Sheets(Array("Spielpaarungen")).PrintOut
End Sub

Sub Anfangsdruck_Spielpaarungen_F()
Sheets("Spielpaarungen").Select
Call markiere_F
Call Druckehinrunde
Sheets(Array("Spielpaarungen")).PrintOut
Call Druckerückrunde
Sheets(Array("Spielpaarungen")).PrintOut
End Sub

Sub Anfangsdruck_Übersicht_A()
Sheets("Übersicht").Select
Call Übersicht_A
Sheets(Array("Übersicht")).PrintOut
End Sub

Sub Anfangsdruck_Übersicht_B()
Sheets("Übersicht").Select
Call Übersicht_B
Sheets(Array("Übersicht")).PrintOut
End Sub

Sub Anfangsdruck_Übersicht_C()
Sheets("Übersicht").Select
Call Übersicht_C
Sheets(Array("Übersicht")).PrintOut
End Sub

Sub Anfangsdruck_Übersicht_D()
Sheets("Übersicht").Select
Call Übersicht_D
Sheets(Array("Übersicht")).PrintOut
End Sub

Sub Anfangsdruck_Übersicht_E()
Sheets("Übersicht").Select
Call Übersicht_E
Sheets(Array("Übersicht")).PrintOut
End Sub

Sub Anfangsdruck_Übersicht_F()
Sheets("Übersicht").Select
Call Übersicht_F
Sheets(Array("Übersicht")).PrintOut
End Sub

Sub Anfangsdruck_benötigte_Blätter()
Sheets(Array("Tabelle Einzel", "Terminplan", "Spieler erfassen", "Tabelle", "Übersicht symbolisch")).PrintOut
End Sub

Sub Anfangsdruck_Deckblatt_A()
Sheets("Deckblatt-Drucken").Select
Call Deckblatt_Drucken_A
Sheets(Array("Deckblatt-Drucken")).PrintOut
End Sub

Sub Anfangsdruck_Deckblatt_B()
Sheets("Deckblatt-Drucken").Select
Call Deckblatt_Drucken_B
Sheets(Array("Deckblatt-Drucken")).PrintOut
End Sub

Sub Anfangsdruck_Deckblatt_C()
Sheets("Deckblatt-Drucken").Select
Call Deckblatt_Drucken_C
Sheets(Array("Deckblatt-Drucken")).PrintOut
End Sub

Sub Anfangsdruck_Deckblatt_D()
Sheets("Deckblatt-Drucken").Select
Call Deckblatt_Drucken_D
Sheets(Array("Deckblatt-Drucken")).PrintOut
End Sub

Sub Anfangsdruck_Deckblatt_E()
Sheets("Deckblatt-Drucken").Select
Call Deckblatt_Drucken_E
Sheets(Array("Deckblatt-Drucken")).PrintOut
End Sub

Sub Anfangsdruck_Deckblatt_F()
Sheets("Deckblatt-Drucken").Select
Call Deckblatt_Drucken_F
Sheets(Array("Deckblatt-Drucken")).PrintOut
End Sub

Sub Anfangsdruck_SP1()
Sheets(Array("Sp.1")).PrintOut
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro
25.09.2022 14:55:16
Marc
Na ja sag mal so, wenn es funktioniert, würde ich da nicht viel dran rumspielen. Sicherlich kann man vielleicht Den Code eventuell reduzieren.. aber ist die Frage ob es dann auch übersichtlich bleibt...
Hast du Funktionen/SUB die du öfters nutzt aber mit anderen Vorgabewerten,
könnte man diese dann vereinheitlichen und im CALL dann einen oder mehrere Werte übergeben, die in der Funktion dann entsprechend abgearbeitet werden..
Hast du z.B. eine Druckfunktion, in dem nur die Tabelle sich unterscheidet die gedruckt werden soll..
kannst du mit z.B. mit Call drucken (tabellenname)
die Funktion aufrufen
und in
Sub drucken ( tabellenname as String)
Drucktabelle = Sheets( tabellenname )
End Sub
kannst du variabel die zu Druckende Tabelle ansteuern... oder das gleiche geht mit Range zum Beispiel auch. In einem meiner Projekte sieht das dann z.B. so aus :

If OB_PDF.Value = True Then
Call PDFOutST(start, Ende, job, Tabelle)
ElseIf OB_XLS.Value = True Then
Call XLS_Out(start, Ende, job, Tabelle)
ElseIf OB_Print.Value = True Then
Call PrintOutST(start, Ende, job, Tabelle)
ElseIf OP_PDL.Value = True Then
Call PDLMailOutST(start, Ende, job, Tabelle)
End If
Hier sucht der Anwender über Radiobuttons aus, welche Ausgabeart er wählen möchte. Und Alle hinterlegten Statistikenfunktionen haben diesen Ausgaberumpf, so brauchte ich die Ausgabe Funktion nur einmal zu schreiben... (Bei mir arbeiten dann etwa 80 Statistikabfragen nur mit einer Ausgabefunktion).
(das ginge noch kürzer, indem im CALL noch die Ausgabeform als Variable übergeben wird (PDF; Excel, Print etc.) und dann brauch ich am Ende sogar nur noch 1 Funktion.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige