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

Beiträge aus den Excel-Beispielen zum Thema "Warum funktioniert der Makro-Start nicht?"