Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Run Macro Problem-einzeln geht es - sonst nicht

Run Macro Problem-einzeln geht es - sonst nicht
01.06.2007 17:12:00
lobby007
Hallo Excel-Profis,
ich lasse mehrere Macros hintereinander laufen:

Sub DatenübernahmeKomplett()
Application.ScreenUpdating = False
Application.Calculation = xlManual
Run Macro:="UebernahmeausDaten"
Run Macro:="Datenuebernahmeklasse"
Run Macro:="DateninWerte"
Sheets("Klassenbeobachtungsbogen").Select
Range("b6:b6").Select
Run Macro:="SortierenNachname"
Sheets("Klassenbeobachtungsbogen").Select
Range("b6:b6").Select
Run Macro:="Einzeldatenübernahme"
Run Macro:="FormelraufKopieren"
Application.Calculation = xlAutomatic
Application.ScreenUpdating = True
Sheets("Klassenbeobachtungsbogen").Select
Range("B5").Activate
end 

Sub
Wenn ich die Macros manuell einzeln laufen lasse ist alles wunderbar.
Im "SortierenNachname" Macro wird sortiert und diese Sortierung klappt nicht richtig wenn die  _
Macros hintereinander ausgeführt werden. Wie gesagt wann man alles manuell hintereinander macht geht alles. Die Select-Anweisungen habe ich schon aus Verzweiflung dazwischengefügt.
Wer weiß Rat ?
Gruß lobby007

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Run Macro Problem-einzeln geht es - sonst nich
01.06.2007 17:17:00
Matthias
Hallo ?,
1. Dein Realname wäre nett,
2. schon mal so probiert? Die Run-Methode ist für Makros in derselben Arbeitsmappe eher unüblich:

Sub DatenübernahmeKomplett()
Application.ScreenUpdating = False
Application.Calculation = xlManual
UebernahmeausDaten
Datenuebernahmeklasse
DateninWerte
Sheets("Klassenbeobachtungsbogen").Select
Range("b6:b6").Select
SortierenNachname
Sheets("Klassenbeobachtungsbogen").Select
Range("b6:b6").Select
Einzeldatenübernahme
FormelraufKopieren
Application.Calculation = xlAutomatic
Application.ScreenUpdating = True
Sheets("Klassenbeobachtungsbogen").Select
Range("B5").Activate
End Sub


Gruß Matthias

Anzeige
AW: Run Macro Problem-einzeln geht es - sonst nich
01.06.2007 17:29:18
lobby007
Hallo Matthias,
habe das run macro.. mal rausgenommen.
Der Code läuft auch ab aber das Ergebnis ist wie vorher: er sortiert falsch.
Gruß Björn

AW: Run Macro Problem-einzeln geht es - sonst nich
01.06.2007 17:34:00
Matthias
Hallo Björn,
ok, den alte Glaskugel-Witz spare ich mir, aber:
Wie sollen wir ohne weitere Infos (Code!) zu deinem Makro den Fehler finden?
Liegt wahrscheinlich an einer unsauberen Referenzierung.
Gruß Matthias

AW: Run Macro Problem-einzeln geht es - sonst nich
01.06.2007 17:38:44
lobby007
Hi Matthias,
hier ist der Sortiercode:

Sub SortierenNachname()
Application.ScreenUpdating = False
Sheets("Daten").Visible = xlSheetVisible
Application.Calculation = xlManual
With Columns("D")
.Replace what:="nachname", Replacement:="zzznachname", Lookat:=xlPart, searchorder:= _
xlByRows, MatchCase:=True
End With
Sheets("Daten").Select
Range("C2:CA33").Select
Selection.Sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=True, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
With Columns("D")
.Replace what:="zzznachname", Replacement:="nachname", Lookat:=xlPart, searchorder:= _
xlByRows, MatchCase:=True
End With
Sheets("Klassenbeobachtungsbogen").Select
Range("B5").Activate
Application.Calculation = xlAutomatic
Application.ScreenUpdating = True
Sheets("Daten").Visible = xlSheetHidden
UebernahmeausDaten
DatenuebernahmeKlasse
End Sub


Anzeige
AW: Run Macro Problem-einzeln geht es - sonst nich
01.06.2007 17:47:53
Matthias
Hallo Björn,
du aktiviert das Blatt "Daten" erst nach der Ersetzen-Methode.
Vielleicht mal ganz ohne Select:

Sub SortierenNachname()
'    Application.ScreenUpdating = False      'das muss nicht sein, wenn du Select weglässt!
'    Sheets("Daten").Visible = xlSheetVisible 'das auch nicht!
Application.Calculation = xlManual
With Sheets("Daten")
.Columns("D").Replace what:="nachname", Replacement:="zzznachname", Lookat:=xlPart,  _
searchorder:=xlByRows, MatchCase:=True
.Range("C2:CA33").Sort Key1:=.Range("D2"), Order1:=xlAscending, Header:=xlNo,  _
OrderCustom:=1, MatchCase:=True, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
.Columns("D").Replace what:="zzznachname", Replacement:="nachname", Lookat:=xlPart,  _
searchorder:=xlByRows, MatchCase:=True
End With
'    Sheets("Klassenbeobachtungsbogen").Select
'    Range("B5").Activate
Application.Calculation = xlAutomatic
'    Application.ScreenUpdating = True
'    Sheets("Daten").Visible = xlSheetHidden
'   ich geh mal davon aus, dass folgende Zeilen irrelevant sind (fehlt ja der Code)
UebernahmeausDaten
DatenuebernahmeKlasse
End Sub


Gruß Matthias

Anzeige
AW: Run Macro Problem-einzeln geht es - sonst nich
01.06.2007 18:21:00
lobby007
Hi Matthias
es geht soweit aber er ersetzt am Ende nicht die zzznachname durch nachname - woran kann das liegen?
- Habe ich durch ein 2tes mal replace... gelöst. Aber:

Sub SortierenGeschlechtNachname()
With Sheets("Daten")
.Columns("D").Replace what:="nachname", Replacement:="zzznachname", Lookat:=xlPart, _
searchorder:=xlByRows, MatchCase:=True
.Range("C2:CA33").Sort Key1:=Range("E2"), Order1:=xlDescending, key2:=Range("D2"), Order2:= _
xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=True, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal
.Columns("D").Replace what:="zzznachname", Replacement:="nachname", Lookat:=xlPart,  _
searchorder:=xlByRows, MatchCase:=True
End With
With Sheets("Daten")
.Columns("D").Replace what:="zzznachname", Replacement:="nachname", Lookat:=xlPart, _
searchorder:=xlByRows, MatchCase:=True
End With
UebernahmeausDaten
DatenuebernahmeKlasse
End Sub


Wirft mir in dieser Zeile "DataOption1:=xlSortNormal, DataOption2:=xlSortNormal" einen Fehler aus, weisst du warum?
Gruß björn

Anzeige
AW: Run Macro Problem-einzeln geht es - sonst nich
01.06.2007 18:26:50
Matthias
Hi Björn,
bei der Sort-Methode musst du von den Range(...) einen Punk machen, damit es sich auf die With-Anweisung (das Tabellenblatt) bezieht:

... Key1:=.Range("E2"), Order1:=xlDescending, key2:=.Range("D2") ...


und ersetze bei den Replace-Anweisungen mal Lookat:=xlPart durch Lookat:=xlWhole.
Viel Glück,
Matthias

AW: Run Macro Problem-einzeln geht es - sonst nich
01.06.2007 18:42:10
lobby007
Hi Matthias,
vielen dankl - das mit dem . bei Range hatte ich übersehen. Leider bin ich ein selektierer (muß ich mal lernen zu vermeiden).
Das mit den whole hat nicht geklappt aber das ist ja durch das 2te with erledigt... (etwas habe ich dann auch begriffen)
Vielen Dank und ein schönes Wochenende.
Herzliche Grüße Björn.

Anzeige
AW: Danke, Dir auch! - o.T.
01.06.2007 18:46:14
Matthias
:-)

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige