Michael Kensy
2005-01-24 07:07:14 UTC
Hola,
da sich die aktuelle ausgewaehlte 'Benutzerdefinierte Ansicht' nicht per
VBA-Code ermitteln laesst (oder sollte ich da etwas uebersehen haben ?),
versuche ich die entsprechende Ansicht (es werden ca. 30 Zeilen ein bzw.
ausgeblendet) einfach per VBA-Code zu realisieren. Die Ausfuehrung des Codes
ist allerdings fast so langsam, dass ich es auch haendisch machen koennte...
Hier meinCode:
Sub DetailAnzeige()
Dim strActiveCellAddress As String
On Error GoTo Out
'***Vorbereitung
strActiveCellAddress = ActiveCell.Address
Application.ScreenUpdating = False
'***Detailzeilen markieren
Range("5:5,7:7,...").Select
#hier habe ich die weiteren Zeilen aus Gruenden der Lesbarkeit geloescht
If Range("5:5").Height <> 0 Then
'***DetailZeilen ausblenden
Selection.EntireRow.Hidden = True
Else
'***DetailZeilen einblenden
Selection.EntireRow.Hidden = False
End If
Out:
'***Nachbereitung
Range(strActiveCellAddress).Activate
Application.ScreenUpdating = True
Exit Sub
End Sub
Hat jemand eine Idee, warum der EntireRow.Hidden-Befehl so unglaublich
lange (knapp eine Sekunde *pro Zeile*) braucht? Kann man das irgendwie
beschleunigen?
da sich die aktuelle ausgewaehlte 'Benutzerdefinierte Ansicht' nicht per
VBA-Code ermitteln laesst (oder sollte ich da etwas uebersehen haben ?),
versuche ich die entsprechende Ansicht (es werden ca. 30 Zeilen ein bzw.
ausgeblendet) einfach per VBA-Code zu realisieren. Die Ausfuehrung des Codes
ist allerdings fast so langsam, dass ich es auch haendisch machen koennte...
Hier meinCode:
Sub DetailAnzeige()
Dim strActiveCellAddress As String
On Error GoTo Out
'***Vorbereitung
strActiveCellAddress = ActiveCell.Address
Application.ScreenUpdating = False
'***Detailzeilen markieren
Range("5:5,7:7,...").Select
#hier habe ich die weiteren Zeilen aus Gruenden der Lesbarkeit geloescht
If Range("5:5").Height <> 0 Then
'***DetailZeilen ausblenden
Selection.EntireRow.Hidden = True
Else
'***DetailZeilen einblenden
Selection.EntireRow.Hidden = False
End If
Out:
'***Nachbereitung
Range(strActiveCellAddress).Activate
Application.ScreenUpdating = True
Exit Sub
End Sub
Hat jemand eine Idee, warum der EntireRow.Hidden-Befehl so unglaublich
lange (knapp eine Sekunde *pro Zeile*) braucht? Kann man das irgendwie
beschleunigen?
--
Gruss Michael
Gruss Michael