Seite 1 von 1

Makro über Button in Blatt1 starten und in Blatt2 beenden

BeitragVerfasst: 27. Sep 2021, 09:42
von RüdigerBo
Hallo,
kann mir jemand sagen, ob es möglich ist, ein Makro in Tabelle1 über ein Button zu starten und in Tabelle2 der gleichen Datei zu beenden?
Tabelle2 sollte nach Beendigung aktiviert sein.

Re: Makro über Button in Blatt1 starten und in Blatt2 beende

BeitragVerfasst: 27. Sep 2021, 10:08
von slowboarder
Hi

Am Ende des Makros einfach die Befehlszeile Sheets("Tabelle2").Select einfügen.

Wenn man mit mehreren Blättern arbeitet, muss man beachten, dass jedes Cells, Range, Columns, Rows ohne eine Tabellenblattangabe davor sich
entweder auf das aktive Tabellenplatz bezieht wenn der Code in einem allgemeinen Modul (Modul1) steht,
oder auf das Tabellenblatt des Moduls, wenn der Code in einem Tabellenblattmodul (Tabelle1) steht.

Man sollte daher immer vor jedem Cells, Range, Columns oder Towes das Tabellenblatt angeben.
Das gilt auch für die Cells in Range(Cells(), Cells())

Gruß Daniel

Re: Makro über Button in Blatt1 starten und in Blatt2 beende

BeitragVerfasst: 27. Sep 2021, 11:31
von RüdigerBo
Danke, Daniel.
So einfach, ich hab's mir zu kompliziert gemacht. Ist es auch möglich, das Makro in dem Tabellenblatt einer anderen Datei enden zu lassen?
Kann von dort automatisch die Ausgangsdatei mit dem Makro (und dem Button) geschlossen werden?
Gruß
Rüdiger

Re: Makro über Button in Blatt1 starten und in Blatt2 beende

BeitragVerfasst: 27. Sep 2021, 11:45
von slowboarder
Hi
eine andere Datei kannst du mit Workbooks("Dateiname.xlsm").Activate aktivieren.
dort kannst du dann auch wieder Blätter und Zellen selektieren.
Beachte auch hier, ohne die entsprechende Angabe geht der Bezug immer auf das aktive Objekt.
die vollständige Refernz ist jetzt Workbooks("Dateianme").Sheet("Tabellenblattname").Range("Adresse")
die Datei, die das laufende Makro enthält, kannst du jedoch immer mit THISWORKBOOK referenzieren, so dass du deren Dateiname nicht angeben musst.

Beachte weiterhin, dass ein Select-Sprung über mehrere Ebenen nicht möglich ist.
Wenn du also einen Zellbereich auf einem anderen Tabelelnblatt in einer anderen Datei selektieren willst, musst du erst die Datei aktivieren, dann das Tabellenblatt selektieren und danach dann den Zellbereich.
Der Direktsprung geht auch, dann aber nicht mit Select, sondern mit Application.Goto Workbooks("Dateiname").Sheet("Tabellenblattname").Range("Zelladresse")

wenn du die Ausgangsdatei dann schließen willst, geht das auch.
Da diese dann aber auch die Datei ist, die das laufende Makro enthält, sollte klar sein dass das ThisWorkbook.close dann der letzte Befehl sein muss.


Gruß Daniel

Re: Makro über Button in Blatt1 starten und in Blatt2 beende

BeitragVerfasst: 27. Sep 2021, 17:08
von RüdigerBo
Nochmals vielen Dank Daniel. Das ist sehr hilfreich.
Gruß Rüdiger