ich stehe da vor einem Problem, wo ich irgendwie die Scheuklappen nicht los werde ...
Folgender Code:
Sub TestMakro()
Cells(1, 1).Formula = "4/4/2012"
Cells(1, 2).Formula = "12:00:00 PM"
Cells(1, 3).Formula = "3:00:00 PM"
'Das wurde so aufgezeichnet und funktioniert
Range("D1").Select
ActiveCell.FormulaR1C1 = "=IF(ISNUMBER(RC[-3]),RC[-1]-RC[-2],""Fehler"")"
'Das funktioniert auch noch
Cells(1, 4).Formula = "=IF(ISNUMBER(RC[-3]),RC[-1]-RC[-2],""Fehler"")"
'Und warum haut das nicht hin?
Cells(1, 4).Formula = "=IF(ISNUMBER(" & Cells(1, 1) & ")," & Cells(1, 3) & "-" & Cells(1, 2) _
_
& ",""Fehler"")"
'Selbst das klappt nicht
Cells(1, 4).Formula = "=IF(ISNUMBER(" & Cells(1, 1) & "),1,2)"
End Sub
Solange ich weitgehend die R1C1-Adressierung innerhalb der zu schreibenden Formel verwende, klappt das ja. Aber wehe, ich will mit Cells(1,1) arbeiten, dann wird gemeckert. Ich kriege es zwar mit einem VBA IF-THEN-ELSE - Konstrukt hin, wo ich mit ISDATE(Cells(1,1)) prüfe und dann die Formula entspechend generiere, aber das will ich nicht so haben.
Frage: Wie kriege ich das so hin, wie ich das eigentlich wollte?
... und natürlich ist das der Übersicht wegen nur eine Musterdatei, aber die "echte" Datei ist nach genau dem Schema aufgebaut.
Schöne Feiertage für alle Leser und Forums-Teilnehmer!