Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1044to1048
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

Code läuft langsam

Code läuft langsam
27.01.2009 10:15:07
Alex
Moin zusammen,
brauche dringend Rat,
ein Teilstück meines Codes läuft Mega langsam.
Ich haben eine Arbeitsmappe mit 150 Sheets.
Auf dem Front-Sheet ("Übersicht") stehen in Spalte A Nachnamen und Tabellenbezeichnungen.
Diese Auflistung von Namen sind auch alle als Tabellen vorhanden.
Mit diesem Code-Teil wird die Reihenfolge der Tabellen so angelegt, dass sie der Reihenfolge in "Übersich"Spalte A entspricht.
Läuft auch. Aber so was von langsam!
Was mich wundert: Gestern lief der gesamte Code rasend schnell. Plötzlich nicht mehr.?!
Hier der Teil für die Sortierung:

Sub sortieren ()
Dim Zelle As Range                    'Alph.Sortierung der Tabellen gem. Frontblatt Spalte A
For Each Zelle In Sheets("Übersicht").Range("A5").CurrentRegion.Cells
Sheets(Zelle.Value).Move after:=Sheets(ThisWorkbook.Sheets.Count)
Next
'sheets unsichtbar machen
Application.ScreenUpdating = False
For InI = Sheets.Count To 1 Step -1
Sheets(InI).Visible = False
Next InI
Application.ScreenUpdating = True
Sheets("Übersicht").Select
Range("A5").Select
End Sub


Weiß jemand Rat?
Danke
Alex

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code läuft langsam
27.01.2009 12:35:00
fcs
Hallo Alex,
was jetzt die "Bremse" auslöst?
Nachfolgend ein Vorschlag, der zumindest einige Bremsen vermeidet.
Da man in Excel nicht alle Blätter unsichtbar machen kann (meines Wissens) sollte mindestens ein Blatt sichtbar bleiben.
Gruß
Franz

Sub sortieren()
Dim Zelle As Range
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
'Alph.Sortierung der Tabellen gem. Frontblatt Spalte A
For Each Zelle In Sheets("Übersicht").Range("A5").CurrentRegion.Cells
Sheets(Zelle.Value).Move after:=Sheets(ThisWorkbook.Sheets.Count)
Next
Sheets("Übersicht").Select
Range("A5").Select
'sheets unsichtbar machen außer Übersicht
For inI = Sheets.Count To 1 Step -1
If LCase(Sheets(inI).Name)  LCase("Übersicht") Then
Sheets(inI).Visible = False
End If
Next inI
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub


Anzeige
jetzt läuft...
27.01.2009 13:05:00
Alex
Mann, Franz
jetzt rennt er...
nur wegen diesem kleinen ...
Blatt "Übersicht" liegt immer an 1. Position. Hätte ich dann auch mit einem For InI = Sheets.Count To 2 Step -1... machen können?
Auf jeden Fall Läufts jetzt. Danke, Danke, Danke!!!
gruß
Alex

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige