Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
25 Makros ausführen über ein Makro
18.11.2017 16:39:04
Dieter(Drummer)
Guten Tag Spezialisten,
ich habe 25 einzelne Makros, die sind benannt "Kreuz1", "Kreuz2", "Kreuz3" bis Kreuz25.
Ich suche einen Code, der alle 25 Makros, Kreuz1 bis Kreuz25, hintereinander aufruft.
Mir ist bekannt, dass ich z.B. mit:
Sub KreuzAlle()
call Kreuz1
call Kreuz2 ... usw.
End sub

alle Makros hintereinander aufrufen kann. Ich suche aber einen einfacheren, kürzeren Code.
Mit der Bitte um Hilfe, grüßt,
Dieter(Drummer)

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
und ich wette mit Dir, ...
18.11.2017 16:46:39
lupo1
... dass die Kreuz1 bis Kreuz25 nicht so unterschiedlich sind, als dass man sie nicht mit Argumenten als eine Prozedur zusammenfassen könnte.
AW: und ich wette mit Dir, ...
18.11.2017 17:08:57
Dieter(Drummer)
Hallo Lupo1,
die Wette würdest du verlieren :-).
Jedes dieser Makros setzt einen Commandbutton von der Startzelle auf eine andere Zelle, und dies bei 25 Buttons von unterschiedlichen Start- zu unterschiedlichen anderen Zellen. Hier ein Beispiel, dass evtl. kürzer oder einfacher sein kann, aber dazu fehlt mir das Wissen:
Sub Kreuz1()
Call Info2
Dim rng As Range
Set rng = ActiveSheet.Range("c13") 'Da muss er hin
With ActiveSheet.OLEObjects("Norw")'Button Name
.Top = rng.Top
.Left = rng.Left
.Width = rng.Width
.Height = rng.RowHeight + rng.Offset(1, 0).RowHeight 'für Zellen C13 UND C14. 2 Zeilen/Zellen
End With
rng.Select 'Rückzelle wird selectiert
With Worksheets("Original")
.Range("c3") = "" 'Richtiger Position, Inhalt löschen
End With
Range("O10").Select
End Sub

Gruß, Dieter(Drummer)
Anzeige
AW: und ich wette mit Dir, ...
18.11.2017 17:35:45
mumpel
Hallo!
Auch daraus liese sich eventuell eine Prozedur machen.
Übrigens:
Was machen die Schaltflächen was sich nicht auch z.B. mit Doppelklick realisieren liese?
Gruß, René
AW: Gute Idee, René ...
18.11.2017 19:22:42
Dieter(Drummer)
... dann könnte ich mir natürlich die "Kreuz" Codes sparen aber ich kann das sicher nicht programmieren.
Der Code, der z.B. einen Commandbutton an eine bestimmte Stelle im Tabellenblatt setzt, sieht so aus (ist nur in wenigen Teilen von mir):
Private Sub Norw_Click()'Button Norw
Dim rng As Range
Worksheets("Tabelle1").Activate
Set rng = Application.InputBox(Prompt:="Die gewünschte Zielzelle mit der Maus auswählen " &  _
vbLf & "oder deren Adresse von Hand eingeben.", Title:="Zellauswahl", Type:=8)
If Not rng Is Nothing Then
With ActiveSheet.OLEObjects("Norw") 'Kurzname des Buttons
.Top = rng.Top
.Left = rng.Left
.Width = rng.Width
.Height = rng.RowHeight 'für 1 Zelle
End With
End If
rng.Select 'Wo Button hin geht, wird Zelle selectiert
With Worksheets("Original")
.Range("c3") = LCase(ActiveCell.Address(RowAbsolute:=False, ColumnAbsolute:=False)) 'Neue  _
Zelladresse
End With
End Sub

Wenn ich dann auf den gleichen Button ein zweites Mal klicke, könnte er natürlich wieder in seine vorherige Position zurück.
Das zu programmieren übersteigt meine Fähigkeiten.
Falls du da etwas machen kannst, wäre das prima.
Gruß, Dieter(Drummer)
Anzeige
übersteigt meine Fähigkeiten_dann Finger weg !
19.11.2017 14:51:33
robert
AW: 25 Makros ausführen über ein Makro
18.11.2017 16:47:49
Luschi
Hallo Dieter,
bei mir sieht das so aus:

Sub Kreuz()
Dim i As Integer
For i = 1 To 1001
Application.Run "Kreuz" & i
Next i
End Sub
Gruß von Luschi
aus klein-Paris
AW: Danke Luschi, geht perfekt ....
18.11.2017 17:00:29
Dieter(Drummer)
... noch einen schönen Resttag.
Gruß, Dieter(Drummer)
und noch immer Basiskenntnisse..........
18.11.2017 18:25:05
robert
:-(

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige