Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fehler in If Anweisung

Forumthread: Fehler in If Anweisung

Fehler in If Anweisung
05.11.2004 18:50:37
Thomas
Hallo zusammen,
ich habe folgenden Code geschrieben:

Sub loeschen()
Dim lR%, intZaehler%
Dim dtVonDatum As Date
Dim dtBisDatum As Date
dtVonDatum = CDate(InputBox("Bitte geben Sie das Startdatum ein", "Startdatum"))
dtBisDatum = CDate(InputBox("Bitte geben Sie das Enddatum ein", "Enddatum"))
lR = Cells(Rows.Count, 6).End(xlUp).Row
For intZaehler = lR To 1 Step -1
' Zeilen loeschen, bei denen das Datum in der Spalte F  kleiner als das eingegebene dtVonDatum ist
If Cells(intZaehler, 6) < dtVonDatum Then Rows(intZaehler).Delete
' Zeilen loeschen, bei denen das Datum in der Spalte F groesser als das eingegebene dtBisDatum ist
ElseIf Cells(intZaehler, 6) > dtBisDatum Then Rows(intZaehler).Delete
End If
Next intZaehler
End Sub

Und bekomme die Fehlermeldung: Else ohne If. Was habe ich da falsch gemacht?
Gruss
Thomas
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler in If Anweisung
ypsilon
hi Thomas,
versuchs mal so:
If Cells(intZaehler, 6) If Cells(intZaehler, 6) > dtBisDatum Then Rows(intZaehler).Delete
cu Micha
Else ohne If
Reinhard
Hi Thomas,
da in der If-zeile nach dem Then ein Befehl ausgeführt wird, ist IF erledigt.

Sub loeschen()
Dim lR%, intZaehler%
Dim dtVonDatum As Date
Dim dtBisDatum As Date
dtVonDatum = CDate(InputBox("Bitte geben Sie das Startdatum ein", "Startdatum"))
dtBisDatum = CDate(InputBox("Bitte geben Sie das Enddatum ein", "Enddatum"))
lR = Cells(Rows.Count, 6).End(xlUp).Row
For intZaehler = lR To 1 Step -1
' Zeilen loeschen, bei denen das Datum in der Spalte F  kleiner als das eingegebene dtVonDatum ist
If Cells(intZaehler, 6) < dtVonDatum Then
Rows(intZaehler).Delete
' Zeilen loeschen, bei denen das Datum in der Spalte F groesser als das eingegebene dtBisDatum ist
ElseIf Cells(intZaehler, 6) > dtBisDatum Then
Rows(intZaehler).Delete
End If
Next intZaehler
End Sub
Gruß
Reinhard

Anzeige
AW: Fehler in If Anweisung -
05.11.2004 19:06:59
otto-mueller
Hallo Thomas,
du hast falsche Schreibweise:
Schreibe es wie folgt:
If Cells(intZaehler, 6) &lt dtVonDatum Then
Rows(intZaehler).Delete
'Zeilen loeschen, bei denen das Datum in der Spalte F groesser als das eingegebene dtBisDatum ist
ElseIf Cells(intZaehler, 6) &gt dtBisDatum Then
Rows(intZaehler).Delete
End If
Wenn du If und die Anweisung in einer Zeile schreibst, dann denkt VBA, daß die Anweisung beendet ist und kein End If mehr braucht.
Das kannst du nur bei einfacher Anweisung machen etwa:
If Cells(intZaehler, 6) &lt dtVonDatum Then Rows(intZaehler).Delete
Danach dürfen keine ander Püfungen für diese If-Anweisung stattfinden.
Gruß
Otto
Anzeige
AW: Fehler in If Anweisung -
05.11.2004 19:18:13
Thomas
Hallo zusammen,
Vielen Dank fuer die schnelle Hilfe.
Danke Otto, so funktioniert es jetzt super.
Gruss
Thomas
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige