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
28.07.2017 11:44:15 Ben
Solved
31.07.2017 18:10:00 Boby17
NotSolved
Rot 30Tage review anpassen und archivieren
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:
31.07.2017 19:08:48
Views:
598
Rating: Antwort:
 Nein
Thema:
30Tage review anpassen und archivieren

Hallo Boby17,

auch das ist machbar:

Option Explicit

Private Function DeleteAF(ByVal lngRow As Long) As Boolean
    Dim wsh As Worksheet
    Dim rng As Range
    Dim iCol As Integer
    Dim bEmpty As Boolean
    Set wsh = ActiveWorkbook.Worksheets(1)
    bEmpty = True
    DeleteAF = CBool(Not wsh.Cells(lngRow, 3).Value = Date)
    If DeleteAF Then
        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 If
End Function
 
Sub FixAll()
    Dim iRow As Integer
    Dim myCalc As XlCalculation
    myCalc = Application.Calculation
    Application.Calculation = xlManual
    For iRow = 2 To 30
        If Not DeleteAF(iRow) Then
            MsgBox "Der Befehl wurde heute bereits ausgeführt!", vbCritical
            Exit For
        End If
    Next
    Application.Calculate
    Application.Calculation = myCalc
End Sub

Sobald der Befehl mehr als einmal an einem Tag ausgeführt wird, bekommt der Anwender die Meldung "Der Befehl wurde heute bereits ausgeführt!" präsentiert.

Die Sub DeleteAF wurde hierfür in eine Funktion umgewandelt. True wird zurückgeliefert, wenn diese korrekt durchlaufen ist.

Zusätzlich sollte die Funktion DeleteAF nur aus dem Modul heraus aufgerufen werden. Daher wurde diese als Privat gekennzeichnet.

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
28.07.2017 11:44:15 Ben
Solved
31.07.2017 18:10:00 Boby17
NotSolved
Rot 30Tage review anpassen und archivieren
31.07.2017 19:08:48 Ben
Solved
15.08.2017 20:34:01 Boby17
NotSolved
16.08.2017 12:31:39 Ben
NotSolved