Herbers Excel-Forum - das Archiv

Warum funktioniert der Makro-Start nicht?



Excel-Version: 8.0 (Office 97)
nach unten

Betrifft: Warum funktioniert der Makro-Start nicht?
von: André


Geschrieben am: 20.05.2002 - 12:56:10

Folgendes Makro habe ich eingegeben:
Sub Start()
Sheets("Tabellen").Select
Application.Run "'WM-2002.xls'!Sortieren_Gruppe_A"
Application.Run "'WM-2002.xls'!Sortieren_Gruppe_B"
Application.Run "'WM-2002.xls'!Sortieren_Gruppe_C"
Application.Run "'WM-2002.xls'!Sortieren_Gruppe_D"
Application.Run "'WM-2002.xls'!Sortieren_Gruppe_E"
Application.Run "'WM-2002.xls'!Sortieren_Gruppe_F"
Application.Run "'WM-2002.xls'!Sortieren_Gruppe_G"
Application.Run "'WM-2002.xls'!Sortieren_Gruppe_H"
End Sub

Wie kann ich das realisieren, daß dieses Makro bei Wechsel auf das Blatt "Tabellen" oder beim Verlassen des Blattes "Spielplan" automatisch startet?

Vielen Dank!
MfG
André

nach oben   nach unten

Re: Warum funktioniert der Makro-Start nicht?
von: Günther Abel


Geschrieben am: 20.05.2002 - 13:15:42

Hi Andre,

Mit Alt+F11 in die VBE,
Ansicht Projektexplorer
Doppelklick auf "Tabellen" und das hier einfügen

' Wechsel auf das Blatt "Tabellen"
Private Sub Worksheet_Activate()
Start
End Sub

Doppelklick auf "Spielplan" und das hier einfügen

' Beim Verlassen des Blattes "Spielplan"
Private Sub Worksheet_Deactivate()
Start
End Sub

Viel Spass

Günther


nach oben   nach unten

Re: Warum funktioniert der Makro-Start nicht?
von: André

Geschrieben am: 20.05.2002 - 13:28:23

Dann meldet er mir einen Laufzeitfehler '1004'
"Die Sort-Methode des Range-Objektes ist fehlerhaft

Was soll mir das sagen???

Vielen Dank.

MfG
André


nach oben   nach unten

Re: Warum funktioniert der Makro-Start nicht?
von: max


Geschrieben am: 20.05.2002 - 15:22:31

Das will Dir sagen, daß Deine Verweise nicht stimmen.
Wahrscheinlich hast Du in Deinen Sort-Routinen Select-Anweisungen, befindest Dich aber
nicht in dem entsprechenden Blatt.
Um solche Probleme zu vermeiden, solltest Du immer qualifizieren (so nennt man das):

Dim ws as worksheet
Dim s_rng as range

Set ws = Worksheets(„Tabelle1“)
Set s_rng = ws.range(„Rangliste“)

S_rng.sort key1:=s_rng

Das erspart Dir ständige Blattwechsel und ist immer eindeutig.
Ferner brauchst Du kaum noch Select-Anweisungen.

MAX

 nach oben

Excel-Beispiele zum Thema "Warum funktioniert der Makro-Start nicht?"
Letzte nichtleere Zelle ermitteln Anwendername im Kommentar nicht fettgedruckt
Nichtnumerische Eingaben verhindern Wenn kein Eintrag, UserForm nicht schließen
Zufallszahlen generieren, die sich nicht wiederholen Alle nichtnumerischen Werte auf Null setzen
Nichtnumerische Eingaben in TextBox verhindern Alle nichtleeren Zeilen markieren
Datei kopieren, wenn noch nicht vorhanden Schriftart in Zeilen wechselweise fett/nicht-fett formatieren