Thema Datum  Von Nutzer Rating
Antwort
26.07.2017 21:28:38 boby17
NotSolved
26.07.2017 23:46:18 Ben
Solved
27.07.2017 22:29:35 boby17
NotSolved
27.07.2017 23:13:30 Ben
NotSolved
27.07.2017 23:23:39 Ben
NotSolved
28.07.2017 07:48:22 boby17
NotSolved
Rot 30Tage review anpassen und archivieren
28.07.2017 11:44:15 Ben
Solved
31.07.2017 18:10:00 Boby17
NotSolved
31.07.2017 19:08:48 Ben
Solved
15.08.2017 20:34:01 Boby17
NotSolved
16.08.2017 12:31:39 Ben
NotSolved

Ansicht des Beitrags:
Von:
Ben
Datum:
28.07.2017 11:44:15
Views:
610
Rating: Antwort:
 Nein
Thema:
30Tage review anpassen und archivieren

Hallo Boby,

in dem Fall muss nur eine kleine Ergänzungs vorgenommen werden:

Option Explicit

Sub DeleteAF(ByVal lngRow As Long)
    Dim wsh As Worksheet
    Dim rng As Range
    Dim iCol As Integer
    Dim bEmpty As Boolean
    Set wsh = ActiveWorkbook.Worksheets(1)
    bEmpty = True
    For iCol = 32 To 3 Step -1
        With wsh.Cells(lngRow, iCol)
            If iCol = 3 Then
                If Not bEmpty Then
                    If lngRow = 2 Then
                        .Value = Date
                    Else
                        .ClearContents
                        .NumberFormat = "General"
                    End If
                End If
            Else
                If IsEmpty(.Offset(ColumnOffset:=-1).Value) Then
                    .ClearContents
                    .NumberFormat = "General"
                Else
                    .Value = .Offset(ColumnOffset:=-1).Value
                    bEmpty = False
                End If
            End If
        End With
    Next
End Sub

Sub FixAll()
    Dim iRow As Integer
    Dim myCalc As XlCalculation
    myCalc = Application.Calculation
    Application.Calculation = xlManual
    For iRow = 2 To 30
        DeleteAF iRow
    Next
    Application.Calculate
    Application.Calculation = myCalc
End Sub

Das die Laufzeit so lange ist, kann an den Formeln liegen. Standardmäßig werden die Formeln nach jeder Änderung automatisch neu berechnet. Je nach Umfang der Formeln kann es daher etwas dauern.

Beim Aufruf von "FixAll" wird die Automatische Berechnung temporär auf Manuell umgestellt.

In der Variable myCalc wird das zuvor eingestellte Verfahren gespeichert. Mit deren Hilfe wird die Automatische Berechnung am Ende wieder auf das zuvor eingestellte Verfahren zurück gesetzt.

Nun sollte es performanter ablaufen.

Ab der 3. Zeile werden wie gewünschte in der Spalte C keine Inhalte mehr eingetragen. Das Zahlenformat für die Zellen C3 bis max. C30 ist auf "Standard" fstgelegt.

LG, Ben


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
26.07.2017 21:28:38 boby17
NotSolved
26.07.2017 23:46:18 Ben
Solved
27.07.2017 22:29:35 boby17
NotSolved
27.07.2017 23:13:30 Ben
NotSolved
27.07.2017 23:23:39 Ben
NotSolved
28.07.2017 07:48:22 boby17
NotSolved
Rot 30Tage review anpassen und archivieren
28.07.2017 11:44:15 Ben
Solved
31.07.2017 18:10:00 Boby17
NotSolved
31.07.2017 19:08:48 Ben
Solved
15.08.2017 20:34:01 Boby17
NotSolved
16.08.2017 12:31:39 Ben
NotSolved