VBA Makro beschleunigen
10.01.2014 14:27:21
Summerknuddel
ich bin ein ziemlicher VBA-Anfänger und habe mir mit Mühe und Not folgenden Code zusammengestellt:
Sub ein_ausblenden_TS2014()
' ein_ausblenden_GPL2014 Makro
' GPL 2014 einblenden
Application.ScreenUpdating = False
'Spalten einblenden
Range("R:R,AF:AF,AT:AT,BH:BH,BV:BW,CJ:CL").Select
Selection.EntireColumn.Hidden = False
'Monate ausblenden
Range("D:Q,S:AE,AG:AS,AU:BG,BI:BU,BX:CI").Select
Selection.EntireColumn.Hidden = True
'Zeilen ein_ausblenden
Set CellRange = Range("D9:D179,D181:D275,D277:D542")
For Each cell In CellRange
With cell
.EntireRow.Hidden = (cell.Value "TS2014")
.EntireRow.Hidden = (cell.Value = "TS2014" Or cell.Value = "TS2014_1") = False
End With
Next
Application.ScreenUpdating = True
End Sub
Ziel des Ganzen ist, dass bei Auswahl einer Überschrift durch ein Kombinationsfeld bestimmte Zeilen und Spalten ein- bzw. ausgeblendet werden. Das Kombinationsfeld greift dann auf oben genanntes Makro zu.
Der Teil, der am längsten läuft, ist sicherlich der ab For Each, da hier mehr als 400 Zeilen untersucht werden müssen.
Gibt es eine Möglichkeit, das Makro zu beschleunigen, ohne dass es seine Funktionalität verliert?
Ich bin dankbar über jede Antwort!
Gruß
summerknuddel