Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Leere Zellen ignorieren
18.09.2018 09:26:58
alex_de_souza
Hallo,
ich habe folgenden Code, der auch wunderbar funktioniert hat:
Private Sub Workbook_Open()
Dim rngZelle As Range
Dim wks As Worksheet
Set wks = ThisWorkbook.Worksheets("Tuncel")
For Each rngZelle In wks.Range("H3:H40")
If Month(rngZelle.Value) = Month(Date) And Day(rngZelle.Value) = Day(Date) Then
MsgBox rngZelle.Offset(, -5).Value & " hat heute Geburtstag!", vbInformation, " _
Geburtstag!"
End If
Next rngZelle
Set wks = Nothing
End Sub
Seit kurzem erhalte ich jedoch immer einen Laufzeitfehler 13. Ich habe festgestellt, dass der Fehler immer dann kommt, wenn in dem Bereich H3:H40 eine leere Zelle vorhanden ist. Ist mir bisher nicht aufgefallen, da ich keine leere Zelle hatte. Nun ist das jedoch der Fall.
Kann mir jemand helfen, um bei dieser "Abfrage" die leeren Zellen zu ignorieren, damit ich diesen Fehler nicht mehr bekomme?
Vielen Dank im Voraus.
Lg

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leere Zellen ignorieren
18.09.2018 09:36:57
Torsten
Hallo alex,
ich hab das mal nachgestellt. Aber bei mir laeuft es wunderbar auch mit Leerzellen.
Keine Fehlermeldung
Gruss Torsten
Auch bei mir ging es - owT
18.09.2018 09:38:19
Bernd
AW: Auch bei mir ging es - owT
18.09.2018 09:54:45
alex_de_souza
Hallo Torsten,
danke für die Rückmeldung. Ist komisch, bei mir hat es wie beschrieben bis zu der leeren Zelle funktioniert. Seitdem geht es nicht mehr. Wenn ich in die leere Zelle eine 0 eintrage, geht es wieder. Also liegt es definitiv an der leeren Zelle.
Lg
AW: Leere Zellen ignorieren
18.09.2018 09:43:04
Gerd
Hola Alex,
hast du Leerzellen mit Texten verwechselt?
Private Sub Workbook_Open()
Dim rngZelle As Range
Dim wks As Worksheet
Set wks = ThisWorkbook.Worksheets("Tuncel")
For Each rngZelle In wks.Range("H3:H40")
If IsDate(rngZelle.Text) Then
If Month(rngZelle.Value) = Month(Date) And Day(rngZelle.Value) = Day(Date) Then
MsgBox rngZelle.Offset(, -5).Value & " hat heute Geburtstag!", vbInformation, _
"Geburtstag!"
End If
End If
Next rngZelle
Set wks = Nothing
End Sub
Gruß Gerd
Anzeige
AW: Leere Zellen ignorieren
18.09.2018 09:55:39
alex_de_souza
Hallo Gerd,
vielen Dank für die Rückmeldung.
ich habe deinen Code versucht. Leider tut sich nichts. :(
Lg
AW:Gespeichert? o.T.
18.09.2018 10:00:58
Gerd
AW: AW:Gespeichert? o.T.
18.09.2018 10:03:12
Torsten
versuchs mal so:
Sub geburtstag()
Dim rngZelle As Range
Dim wks As Worksheet
Set wks = ThisWorkbook.Worksheets("Sheet5")
For Each rngZelle In wks.Range("H3:H40")
If rngZelle Is Nothing Then
GoTo Naechste
Else
If Month(rngZelle.Value) = Month(Date) And Day(rngZelle.Value) = Day(Date) Then
MsgBox rngZelle.Offset(, -5).Value & " hat heute Geburtstag!", vbInformation, "  _
Geburtstag!"
End If
End If
Naechste:    Next rngZelle
Set wks = Nothing
End Sub
Gruss Torsten
Anzeige
AW: AW:Gespeichert? o.T.
18.09.2018 10:04:14
Torsten
sorry, du musst den Tabellennamen wieder abaendern. Hab den geaendert zum Versuch in meiner Tabelle
AW: AW:Gespeichert? o.T.
18.09.2018 10:07:36
Torsten
und nochmal sorry :-)
aendere die Zeile

If rngZelle Is Nothing Then
um in

If rngZelle = "" Then

Frage ab If Isdate(rngZelle) then
18.09.2018 10:11:12
Matthias
Hi
For Each rngZelle In wks.Range("H3:H40")
If IsDate(rngZelle) Then
If Month(rngZelle.Value) = Month(Date) And Day(rngZelle.Value) = Day(Date) Then
MsgBox rngZelle.Offset(, -5).Value & " hat heute Geburtstag!", vbInformation, "    _
Geburtstag! """
End If
End If
Next rngZelle
Allerdings funktioniert dein erster Code auch ohne Probleme.
Gruß Matthias
Anzeige

364 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige