ich habe folgendes Probleme und bräuchte eure Hilfe.
1.) Mit der dem Befehl:
Do
With Sheets("An_Abfahren").Range("B65536").End(xlUp)
.Offset(1, 0) = CDate(TextBox1.Value)
.Offset(1, 2) = "K" & j
If Me.Controls("An_" & j) "" Then
.Offset(1, 3) = Me.Controls("An_" & j)
Else
.Offset(1, 3) = "0"
End If
.Offset(1, 4).FormulaR1C1 = "=rc[-1]+rc[-4]"
...
springe ich in eine Schleife, die mir die Daten (verschiedene Textfelder) die ich in einem Formular eingetragen habe jeweils in die erste leere Zeile am Ende einer Tabelle überträgt.
Num möchte ich allerdings - da ich diese Daten zum Rechnen in einer späteren Formel brauche -, dass die Uhrzeit ("=rc[-1]+rc[-4]") auch in eine Variable "f" geschrieben wird. wie muss ich das in VBA formulieren?
Ich bekomme es leider nicht hin, da ich bei meinen versuchen stets einen Laufzeitfehler (z.B. Typen unverträglich) erhalte. Liegt es u.U. daran, dass ich für die Zellen ".offset(1,0)" und ".offset(1,3)" kein Zahlenformat festgelegt habe? Wenn ja, wie definiere ich dies? In (..(1,0)) soll das Datum in (dd.mm.yyyy) stehen und in (..(1,3)) ggf. eine Uhrzeit im Format (hh:mm) stehen, sodass ich in (..(1,4)) aus diesen beiden auch die Summe bilden kann, sodass hier steht (dd.mm.yyyy hh:mm) bzw. Excel verarbeitet dies ja als Dezimalzahl.
2.)
=WENN(F250<H250;H250-F250;WENN(F250>H250;(H250+1-F250);WENN(UND((H250-F250)=0;I250=0);0;WENN(UND((H250-F250)=0;I250=1);1))))
Wie muss der Befehl in VBA aussehen, wenn ich folgende Excel-Formel in eine Zeile schreiben möchte und hierbei entweder mit relativen Bezügen (z.B. rc[-2]) oder variablen (siehe oben: f und h als Werte in den Zellen F250 und H250) rechnen möchte. Es können keine absoluten Zellbezüge sein, da bei jedem Durchlauf der Do-Schleife 6 neue Zeilen geschrieben werden und Excel somit bei jedem Aufruf der Prodzedur eine neue Ausgangszeile sucht; daher arbeite ich ja - hoffentlich auch richtig - mit dem Befehl ".offset(...)".
Die Formel soll in Zelle J? stehen, dass heißt es müsste in konkreten Fall mit:
.offset(1,9).formula = "=if(
losgehen. Aber ab da weiß ich leider nicht weiter.
Danke schomal für eure Hilfe