Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
512to516
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
512to516
512to516
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige