Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1272to1276
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
Inhaltsverzeichnis

"Move"-Problem: Then .Sheets(x).Move .Sheets(i)

"Move"-Problem: Then .Sheets(x).Move .Sheets(i)
Peter
Guten Tag
Nachfolgender Code wird aus einer anderen Arbeitsmappe angestossen, während die Arbeitsmappe, in welcher die Tabellenblätter sortiert werden sollen, ausgeblendet sind.
Es läuft alles schön durch bis
If x > i Then .Sheets(x).Move .Sheets(i)
Auf dieser Zeile erhalte ich den Laufzeitfehler '1004': Die Move-Methode des Worksheet-Objektes konnte nicht ausgeführt werden (manchmal läuft aber auch alles durch; ich habe nicht herausgefunden, was dann anders ist).
Ich habe mir schon überlegt, ob es damit zu tun hat, dass die Arbeitsmappe (nicht nur ein Sheet), in welcher die Tabellen sortiert werden sollen ausgeblendet ist. Doch dann würde es wohl immer nicht funktionieren.
Wer kann mir helfen?
Gruss, Peter
Sub Tabellenblaetter_sortieren()
Dim i As Long, x As Long, AnzahlRegister As Long, Zaehler As Long, WkbThis As Excel.Workbook
Dim WshCockpit As Worksheet, WshISIN As Worksheet, WshIndex As Worksheet
Set WkbThis = ThisWorkbook
Set WshCockpit = WkbThis.Worksheets("Cockpit")
Set WshISIN = WkbThis.Worksheets("Stammdaten")
Application.ScreenUpdating = False
With WkbThis
.Activate
AnzahlRegister = .Sheets.Count
For i = 1 To AnzahlRegister - 1
x = i
For Zaehler = i + 1 To AnzahlRegister
If UCase$(.Sheets(Zaehler).Name)  i Then .Sheets(x).Move .Sheets(i)
Next i
WshCockpit.Move before:=.Sheets(1)
WshISIN.Move after:=WshCockpit ''Funktioniert auch, wenn Sheet "Stammdaten" ausgeblendet ist
End With
Application.ScreenUpdating = True
End Sub

AW: "Move"-Problem: Then .Sheets(x).Move .Sheets(i)
07.08.2012 09:04:49
Matze,Matthias
Hallo peter,
If x > i Then .Sheets(x).Move .Sheets(i) Stell dir mal die Frage wohin ?
Matze
AW: "Move"-Problem: Then .Sheets(x).Move .Sheets(i)
07.08.2012 09:22:39
Peter
Hallo Matze
Vielen Dank für den Hinweis.
1.
Interessant ist, dass sich diese Frage bei eingeblendeter Arbeitsmappe anscheinend nicht stellt, da wird schön sortiert.
2.
If x > i Then .Sheets(x).Move before:=.Sheets(i) - mit dieser Anweisung erhalte ich den gleichen Fehler. Könntest du mir noch einen weiteren Hinweis geben, was ich ändern muss?
Danke und Gruss, Peter
AW: "Move"-Problem: Then .Sheets(x).Move .Sheets(i)
07.08.2012 10:24:48
Beverly
Hi Peter,
weshalb musst du so kompliziert sortieren, wenn nur 2 definierte Tabellenblätter an 2 definierte Positionen verschoben werden sollen?


Anzeige
AW: "Move"-Problem: Then .Sheets(x).Move .Sheets(i)
07.08.2012 10:29:37
Peter
Hallo Karin
Es ist nicht ganz so.
Ich habe ca. 60 Tabellenblätter, die alphabetisch zu sortieren sind. Anschliessend sollen die Tabellen "Cockpit" an die erste Stelle und "Stammdaten" an die zweite Stelle verschoben werden.
Gruss, Peter
AW: "Move"-Problem: Then .Sheets(x).Move .Sheets(i)
07.08.2012 11:17:54
Matze,Matthias
Hallo Peter,
Option Explicit 'nicht vergessen
Sub Matze()
Dim i As Long
Dim x As Long
Dim AnzahlRegister As Long
Dim Zaehler As Long
Application.ScreenUpdating = False
With Workbook("Der Name der Datei.Endung")
AnzahlRegister = .Sheets.Count
For i = 1 To AnzahlRegister - 1
x = i
For Zaehler = i + 1 To AnzahlRegister
If UCase$(.Sheets(Zaehler).Name)  i Then .Sheets(x).Move .Sheets(i)
Next i
Sheets("Cockpit").Move before:=.Sheets(1)
Sheets("Stammdaten").Move after:=.Sheets(1)
End With
Application.ScreenUpdating = True
End Sub
Versuch mal Matze
Anzeige
AW: "Move"-Problem: Then .Sheets(x).Move .Sheets(i)
07.08.2012 12:31:24
Peter
Hallo Matze, hallo Karin
Vielen Dank für die Unterstützung.
ich habe viel ausprobiert und bin zum Schluss gekommen, dass die Sortierroutinen funktionieren, wenn die der Workbook eingeblendet ist. Wenn er ausgeblendet ist und eine weitere Excel-DAtei offen ist, habe ich es nicht geschafft. Ich habe mir jetzt wie folgt beholfen:
Nach dem Aufstarten der Datei abfragen, ob diese ausgeblendet ist
wenn ja, vor der Sortierung einblenden und anschliessend wieder ausblenden
ansonsten kann normal sortiert werden.
Gruss, Peter
AW: "Move"-Problem: Then .Sheets(x).Move .Sheets(i)
07.08.2012 11:30:21
Beverly
Hi Peter,
schau dir mal dieses Beispiel an: http://hajo-excel.de/chCounter3/getfile.php?id=63 - vielleicht hilft es dir ja beim Sortieren generell weiter.


Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige