Clever-Excel-Forum

Normale Version: Wenn A1=00:00:10 Dann MsgBox
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
hi, ich möchte, eine MsgBox darstellen, wenn Feld A1=00:00:10 ist.

Code:
If .Range("A1") = 00:00:10 Then

            MsgBox "Nachricht", 1048576, "Nachricht"

Da motzt aber VBA. Wenn ich es so mache, ist der Syntaxfehler weg. Es klappt aber dann auch nicht:
Code:
If .Range("A1") = "00:00:10" Then

            MsgBox "Nachricht", 1048576, "Nachricht"

Wie bekomme ich das nun hin?
Hallo,
If .Range("A1").Text = "00:00:10" Then
Gruß Uwe
Dankeschön Uwe. Das ergibt eine Fehlermeldung in VBA (Siehe Bild).
[attachment=33460]
Wenn ich es so mache, geht es zwar:
Code:
If Range("A1").Text = "00:00:10" Then

Jedoch wird die 00:00:10 nicht richtig erkannt. Da es eine Zahl und kein Text ist.

Wenn ich mich auf A1 beziehe(A2=A1) und dann dort das Format auf Zahl mit 18 Nachkommastellen ändere bekomme ich folgenden Wert: 0,000115740740740741. In VBA kopiere ich den hinein (vorzer aus  dem Komma einen Punkt machen). Dann schreibt mir VBA automatisch folgendes hin: 1.15740740740741E-04.

Funktioniert dann aber auch nicht. Also wenn ich mich dann auf das Feld A2 beziehe. Alles wie verhext, was ich auch probiere. Immer ist Excel einen Schritt schlauer als ich.
Hallöchen,

wenn bei dem Code

If .Range("A1").Text = "00:00:10" Then

der gepostete Fehler kommt, dann war auch die Schreibweise bei Threaderöffnung schon falsch. Der Punkt vor dem Range setzt irgendwo an passender Stelle ein With ... voraus.

Zitat:Jedoch wird die 00:00:10 nicht richtig erkannt. Da es eine Zahl und kein Text ist.

Der Code sollte sowohl die Zahl 00:00:10 als auch den Text 00:00:10 erkennen. Wenn Du dort wirklich die Zahl 0,000115740740740741 statt der 10 Sekunden stehen hast, wird das jedoch nix. Du musst die Zelle schon auf die Zeitangabe formatieren.