Moin,
es ist vielleicht kein spezielles Excel-Problem ( Win7 ? ):
Beim Abarbeiten eines langwierigen vba-Makros fällt mir aber besonders auf, dass oben im Excel-Fenster regelmäßig „Keine Rückmeldung“ angezeigt wird.
Nach der Abarbeitung ist dann wieder Alles i. O.
Meine Fragen:
- kann man den Aussetzer von Excel gegenüber dem BetriebsSystem verhindern?
- kann das Ergebnis der Berechnung beeinträchtigt werden?
Ich lasse den folgenden Code laufen:
Sub gleiche_ausblenden_down()
LR = ActiveCell.SpecialCells(xlLastCell).Row: LC = ActiveCell.SpecialCells(xlLastCell).Column
AR = ActiveCell.Row: AC = ActiveCell.Column
’ R1 = IIf(.Cells(1, 20).Value = 0, 9, .Cells(1, 20).Value)
R1 = 9 ’ R1=9:Überschriften NUR OBERHALB Zeile 9!!! Zeile 9 ist z. Zt. die MusterZeile ( Formate )
counter = 0
Call gmst
For zeile = R1 To LR
For i = zeile + 1 To LR
’ If Cells(i, AC) „“ Then
If Cells(i, AC) = Cells(zeile, AC) Then
If Rows(i).EntireRow.Hidden = True Then counter = counter + 1
Application.StatusBar = „Ausgeblendet:“ & counter
Rows(i).EntireRow.Hidden = True
End If
’ End If
Next i
Next zeile
Cells(AR, AC).Select
Call gmsf
End Sub
Die UnterProgramme sind mit Hilfe von Reinhard entstanden und schalten zwecks ZeitEinsparung Einiges ab. Haben immer gut funktioniert
Public Static Sub GetMoreSpeed(Optional ByVal Modus As Boolean = True)
Dim intCalculation As Integer, bolSperre As Boolean
If Modus = True Then
intCalculation = Application.Calculation
bolSperre = ActiveSheet.ProtectContents
ActiveSheet.Unprotect
Else
If bolSperre = True Then ActiveSheet.Protect
End If
With Application
.ScreenUpdating = Not Modus
.EnableEvents = Not Modus
.Calculation = IIf(Modus = True, xlManual, intCalculation)
.Cursor = IIf(Modus = True, xlWait, xlDefault)
End With
End Sub
Sub gmst()
Call GetMoreSpeed(True)
End Sub
Sub gmsf()
Call GetMoreSpeed(False)
End Sub
Angezeigt wird jedoch bis zum „Absturz“ immer aktuell der ZählerStand per application.statusbar.
Wer blickt durch?
Vielen Dank für Dein Interesse.
Freundliche Grüße
Thomas
P.S.: Falls der Autor der vorherigen Threads noch interessiert ist:
der Code sucht in der aktiven Spalte nach Duplikaten und blendet die gefundenen Zeilen aus.