Lange "Ladezeiten" Excel
20.11.2015 14:36:46
Andreas
ich habe in meiner Exceldatei mittlerweile ein paar VBA Codes (eigentlich in zwei Tabellenblättern jeweils die unten stehenden Codes).
Der Code ist jeweils einen ToggleButton zugewiesen und kann "aus-" oder "eingeschalten" werden.
Hier ist der Code:
Private Sub ToggleButton1_Click()
If ToggleButton1 = True Then 'wenn der Button aktiviert ist
Application.EnableEvents = False
'deine Prozedur
ToggleButton1.Caption = "Zoom aus" 'Beschriftung, wenn aktiv
ToggleButton1.BackColor = &HC0C0C0 'Farbe, wenn aktiv
Else '... sonst
'deine Prozedur
ToggleButton1.Caption = "Zoom an" 'Beschriftung, wenn inaktiv
ToggleButton1.BackColor = &HC0C0C0 'Farbe, wenn inaktiv
Application.EnableEvents = True
End If
End Sub
Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
ActiveSheet.Range("A1:yx2").EntireRow.RowHeight = 30
ActiveSheet.Range("A1:yx2").EntireRow.Interior.ColorIndex = xlNone
ActiveSheet.Range("A1:yx2").EntireRow.Font.Bold = True
ActiveSheet.Range("A3:yx500").EntireRow.Interior.ColorIndex = xlNone
ActiveSheet.Range("A3:yx500").EntireRow.Font.Bold = False
Cells.WrapText = True
'ActiveSheet.Range("A3:yx500").EntireRow.AutoFit
ActiveSheet.Range("A3:yx500").RowHeight = 15
'ActiveCell.Rows.RowHeight = ActiveCell.Rows.RowHeight * 3
'Selection.Range("A3:yx500").EntireRow.AutoFit
Selection.EntireRow.Interior.ColorIndex = 36
Selection.EntireRow.Font.Bold = True
Selection.EntireRow.RowHeight = 45
Application.ScreenUpdating = True
End Sub
Der Code bewirkt, dass ich bei Anwahl einer Zelle, die gesamte Zeile "fett" mache, die Zeilenbreite vergrössere und gelb einfärbe. Dies soll dazu dienen, dass ich immer den Überblick behalte wenn ich in einer grossen Tabelle arbeite.Jetzt muss ich immer häufiger folgendes Problem feststellen:
Egal wie ich mich in dem betroffenen Tabellenblatt bewege (per Mausklick, per Pfeiltasten, ...), die Ladezeit der Ausführung (z.B. nur Anwählen eine Zelle) beträgt 1-2 Sekunden!!
Ich habe in dem betroffenen Tabellenblatt auch eine Matrixformel über 4 Spalten und 100 Zeilen (das andere Tabellenblatt ist nicht betroffen):
=WENNFEHLER(INDEX('Tabelle1!B$2:B$104;KKLEINSTE(WENN('Tabelle1!$H$2:$H$104="X";ZEILE($2:$104)-1); ZEILE(B1)));"")
Woran könnte es liegen, dass ich solch lange Ladezeiten habe?Kann man das irgendwie optimieren?
Liebe Grüsse
Andreas
Vielen Dank vorab für eure Unterstützung (wie immer :-))!