Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1796to1800
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Monat aktualisieren unter Bedingung

Monat aktualisieren unter Bedingung
16.12.2020 10:03:12
Tamara
Hallo zusammen,
leider konnte ich mein Excel Problem mit folgenden Code nicht lösen. Vielleicht sieht der ein oder andere den Fehler oder kann mir einen anderen funktionierenden Code nennen.
Folgende Situation liegt vor: Es werden nur zwei Spalten einer Tabelle betrachtet. Die eine Spalte enthält Datumsangaben im Format MM.JJJJ und die andere Spalte enthält Statusangaben (von 0%-100%) und auch das Wort "Realisiert".
Nun sollen am Anfang eines jeden Monats (z.B. Anfang Oktober) alle Angaben mit dem vorherigen Monat (z.B. September) abgeändert werden in den aktuellen Monat (z.B. Oktober) unter der Bedingung, dass in der zweiten Spalte nicht "realisiert steht sondern eine Prozentzahl. Dies soll automatisch geschehen.
Anbei noch ein kleines Beispiel wie das aussieht:
Realisierung I Status
Jan 20 I Realisiert
Okt 20 I Realisiert
Dez 20 I 90%
Nov 20 I 100%
Der Code schaut folgendermaßen aus:
Sub Monat_Aktualisieren()
Worksheets("Tabelle1").Activate
Dim i As Long
Dim spalteDatum  As String
Dim spalteStatus As String
spalteDatum = "A"
spalteStatus = "B"
If Date = DateSerial(Year(Date), Month(Date), 1) Then
For i = 1 To Cells(Rows.Count, spalteDatum).End(xlUp).Row
   If IsDate(Cells(i, spalteDatum)) And DateDiff("m", Cells(i, spalteDatum), Date) = 1   _
_
Then
If Cells(i, spalteStatus).Value  "realisiert" Then
Cells(i, spalteDatum).Value = DateSerial(Year(Cells(i, spalteDatum)), Month(Date), _
_
_
_
Day(Cells(i, spalteDatum)))
End If
End If
Next i
End If
End Sub

Der Fehler liegt wahrscheinlich in der fettgedruckten Zeile. Wenn ich es debugge, wird diese Zeile gelb markiert.
Danke für eure Hilfe!

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Monat aktualisieren unter Bedingung
16.12.2020 10:07:38
Nepumuk
Hallo Tamara,
wie lautet die Fehlermeldung (Nummer und Text)?
Gruß
Nepumuk
AW: Monat aktualisieren unter Bedingung
16.12.2020 10:39:37
Tamara
Es kommt der Fehler : "Laufzeitfehler 13" "Typen unverträglich"
AW: Monat aktualisieren unter Bedingung
16.12.2020 10:52:19
Nepumuk
Hallo Tamara,
dann steht in Spalte A kein Datum sondern Text der wie ein Datum aussieht. Oder siehst du in der Bearbeitungsleiste ein richtiges Datum wenn du eine Zelle in Spalte A markierst?
Gruß
Nepumuk
AW: Monat aktualisieren unter Bedingung
16.12.2020 12:57:56
Tamara
Da ist ein richtiges Datum zu sehen
Gruß
Tamara
AW: Monat aktualisieren unter Bedingung
16.12.2020 13:05:40
Nepumuk
Hallo Tamara,
teste mal:
Sub Monat_Aktualisieren()
    
    Const spalteDatum As String = "A"
    Const spalteStatus As String = "B"
    
    Dim i As Long
    
    Worksheets("Tabelle1").Activate
    
    If Day(Date) = 1 Then
        
        For i = 1 To Cells(Rows.Count, spalteDatum).End(xlUp).Row
            
            If IsDate(Cells(i, spalteDatum).Value) Then
                
                If DateDiff("m", Cells(i, spalteDatum).Value, Date) = 1 Then
                    
                    If Cells(i, spalteStatus).Value <> "realisiert" Then
                        
                        Cells(i, spalteDatum).Value = DateSerial(Year(Cells(i, spalteDatum).Value), _
                            Month(Date), Day(Cells(i, spalteDatum).Value))
                        
                    End If
                End If
            Else
                MsgBox "Kein Datum in Zeile " & CStr(i), vbExclamation, "Hinweis"
            End If
        Next i
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: Monat aktualisieren unter Bedingung
16.12.2020 16:51:26
Tamara
Hallo :)
Ich habe es getestet. Am Anfang kam der Hinweis dass Zeile 1 kein Datum enthält. Die erste Zeile besteht aus Überschriften. Ich habe deswegen den Codeteil "For i=1" in "For i=2" geändert und hoffe dass ist soweit korrekt. Es passiert leider dann nichts beim Ausführen. Wahrscheinlich weil der Code für den Anfang eines Monats geschrieben ist. Daher habe ich es auch mit "if Day(Date) = 16" versucht, aber da hat sich leider auch nichts getan. Wie kann ich den Code schon jetzt testen?
AW: Monat aktualisieren unter Bedingung
16.12.2020 17:06:00
Nepumuk
die Zeile:
If Day(Date) = 1 Then
ist nur eine Verkürzung dieser Zeile:
If Date = DateSerial(Year(Date), Month(Date), 1) Then
Da prüfst du ja ob das Datum der erste des Monats ist. Also müsste bei Day(Date) = 16 die Prozedur durchlaufen. Und wenn in der Spalte A Nov 20 und in Spalte B nicht "Realisiert" steht, wird es auch auf Dez 20 geändert. Das habe ich getestet.
Gruß
Nepumuk
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige