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

Formatvorlagen löschen langsam

Formatvorlagen löschen langsam
13.09.2022 16:21:25
Lutz
Hallo Excel-Profis,
ich arbeite seit langem mit einem Makro welches überflüssige Formalvorlagen löscht.
Leider ist dieses Makro bei einer großen Anzahl von Formalvorlagen sehr langsam:

Sub Speed_on()
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.DisplayAlerts = False
Application.Calculation = xlManual
End Sub

Sub Speed_off()
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.DisplayAlerts = True
Application.Calculation = xlAutomatic
End Sub

Sub Delete_Formatvorlagen_benutzerdefinierteDirektFast()
Dim objStyle As Style, icount As Long, bolDelete As Boolean
Dim wbk As Workbook, wbkNeu As Workbook
Dim arrStyles() As String
Set wbk = ActiveWorkbook
On Error Resume Next
Speed_on
'Standardliste von Styles ermitteln in leerer neuer Arbeitsmappe
Set wbkNeu = Application.Workbooks.Add(Template:=xlWBATWorksheet)
For Each objStyle In wbkNeu.Styles
icount = icount + 1
ReDim Preserve arrStyles(1 To icount)
arrStyles(icount) = objStyle.Name
Next
wbkNeu.Close savechanges:=False
'Namen der Styles/Formatvorlagen in der aktiven Arbeitsmappe mit den Standard-Styles _
vergleichen und benutzerdefinierte löschen
For Each objStyle In wbk.Styles
bolDelete = True
For icount = 1 To UBound(arrStyles)
If arrStyles(icount) = objStyle.Name Then bolDelete = False: Exit For
Next
If bolDelete = True Then
objStyle.Delete
End If
Next
Speed_off
End Sub
Hat jemand eine Idee wie man das Makro schneller machen könnte? Ich habe manchmal üer 45 Minuten Laufzeit.
Schön wäre auch ein Makro welches die Formatvorlagen erst einmal durchzählt - dann weiß man ungefähr wie lange es wohl dauern wird.
Vielen Dank und viele Grüße
Lutz

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formatvorlagen löschen langsam
13.09.2022 17:50:42
GerdL
Hallo Lutz,
nicht getestet!

Sub Unit()
Dim St As Style
For Each St In ActiveWorkbook.Styles
If St.BuiltIn = False Then St.Delete
Next
End Sub
Gruß Gerd
AW: Formatvorlagen löschen langsam
13.09.2022 18:19:43
onur
Hallo Gerd,
Das kann doch so nicht funktionieren, denn du hast vergessen, Speed_on und Speed_off einzubauen. Schliesslich müssen die doch vor bzw nach jedem Makro aufgerufen werden, damit der Code schneller wird. ;))
Gruß
Onur
AW: Formatvorlagen löschen langsam
13.09.2022 20:08:41
GerdL
Ich habe nichts vergessen, sondern die Ranken u. die Funktionsprüfung komplett dem Fragesteller überlassen, Onur.
Gruß Gerd
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige