das Netz hab ich schon gequält, aber keine Lösung gefunden.
Ich möchte ein Makro für Tabellenblatt 2 und 3 über einen (Active-X-) Command Button auf Tabellenblatt 1 starten.
Das Makro wurde ursprünglich per Command Button auf den jeweiligen Tabellenblättern ausgeführt und funktioniert auch:
Private Sub CommandButton21_Click()
ActiveSheet.Rows(4).Resize(ActiveSheet.UsedRange.Rows.Count).Sort Key1:=Range("F4"), _
Order1:=xlAscending, _
Header:=xlGuess, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub
Ich habe folgendes gemacht:In ein Modul habe ich folgenden Code gespeichert:
Public Sub Row_F_Sort()
Worksheets("Uebersicht_Ertrag").Activate
With ActiveSheets
.Rows(4).Resize(ActiveSheet.UsedRange.Rows.Count).Sort Key1:=Range("F4"), _
Order1:=xlAscending, _
Header:=xlGuess, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End With
Worksheets("Uebersicht_NGV").Activate
With ActiveSheets
.Rows(4).Resize(ActiveSheet.UsedRange.Rows.Count).Sort Key1:=Range("F4"), _
Order1:=xlAscending, _
Header:=xlGuess, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End With
Worksheets("Uebersicht_Ertrag").Activate
End Sub
und im Tabellenblatt 1 habe ich einen Command Button mit folgendem Code:Private Sub CommandButton21_Click()
Call Row_F_Sort
End Sub
Das war eine der Lösungsmöglichkeiten, die ich im Netz gefunden hatte. Eine andere war, den Code direkt mit der Schaltfläche zu verknüpfen.So oder so erscheint eine Fehlermeldung: Laufzeitfehler 424, Objekt erforderlich.
Muss dafür eine Beispielmappe hochgeladen werden, oder erkennt man schon auf den ersten Blick, was falsch am Code ist? Ich meine, mehr würde die Mappe auch nicht enthalten.
Vielen Dank vorab und beste Grüße
Axel