ich habe eine Tabelle als ListObject("tb_Eingabe") mit Spalten die u.a. heißen "Stunden" und "Honorar". Diese beiden sollen miteinander multipliziert werden. Dazu muss ich zuerst bei den Stunden die Stunden und Minuten extrahieren und die dann mit dem Gehalt multiplizieren. Leider gibt es bei folgender Anwendung den nachstehenden Fehler:
tb_Eingabe.DataBodyRange.Cells(1, tb_Eingabe.ListColumns("Honorar").Index).Formula = "=(STUNDE([@Stunden]) + (MINUTE([@Stunden])/60))*[@[EUR/Tour|h]]"
Hier schreibt es aber den Zellbefehl STUNDE() immer mit einem @ davor in die Zelle. Also da steht dann:
=(@STUNDE([@Stunden]) + (MINUTE([@Stunden])/60))*[@[EUR/Tour|h]]
Das kann die Zelle natürlich nicht umsetzen. Ich bekomme es auch nicht weg, wenn ich die Spalte "Stunden" umbenenne. Wenn ich die Zelle nachträglich anklicke und ENTER drücke, dann kommt ein Fenster, dass sagt, dass dies ein altes Format ist und es den Text ändern möchte in ohne @.
Alternativ habe ich den Zellbefehl TEXT() gefunden. Aber den setzt VBA irgendwie nicht um.
Ich möchte eigentlich gern dort eine Formel drin stehen haben und es nicht über VBA lösen, auch wenn das einfacher wäre. Aber es soll der Übersichtlichkeit direkt in der Tabelle auftauchen, bevor es weiterverarbeitet wird.
Im Anhang eine Beispieldatei.
Falls wer eine Lösung kennt, freue ich mich drüber.
LG, Johannes
https://www.herber.de/bbs/user/155150.xlsm