Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Wie kann bei FormulaR1C1Local  das „$“-Zeichen verhindert werden?
#1
Hallo CEF-Forum

mit dem nachfolgenden Programmcode werden Name, Vorname und Geburtstdatum in eine Tabellenzelle eingetragen.

Range("F" & Zeile + 1).FormulaR1C1Local = "=""" & FamName & ", " & Vorname & " *" & Geb_Jahr & "; ""&(DATEDIF(ZS1;ZS2;""y""))&"" Jahre"""
Range("F" & Zeile + 1).FormulaLocal = "=""" & FamName & ", " & Vorname & " *" & Geb_Jahr & "; " & """&(DATEDIF(A" & Zeile + 1 & ";B" & Zeile + 1 & ";""y""))&"" Jahre"""

bei der ersten Formel mit FormulaR1C1Local  sieht der Eintrag in der Zelle wie folgt aus:  ="MUSTER, Franz *1968; "&(DATEDIF($A6;$B6;"y"))&" Jahre"
bei der zweiten Formel mit FormulaLocal  sieht der Eintrag in der Zelle wie folgt aus:  ="MUSTER, Franz *1968; "&(DATEDIF(A6;B6;"y"))&" Jahre"

Das Ergebnis beider Formeln unterscheidet sich durch das Zeichen "$". In der Tabellenzelle stört das nicht.
Das Tabellenblatt wird jedoch makrogesteuert in eine weitere Datei eingefügt und führt dann zu falschen Ergebnissen.

Meine Frage: Wie kann bei der ersten Formel das "$"-Zeichen unterdrückt werden?

danke vorab für eventuelle Lösungsvorschläge
wellington
Antworten Top
#2
Moin!
Stichwort relative/absolute R1C1Local-Schreibweise.
Ein relativer Offset wird in Klammern geschrieben.
Da Du in Spalte F schreibst, wäre die entscheidende Stelle:
DATEDIF(Z(0)S(-6);Z(0)S(-5);"y")
Statt jeweils Z(0) reicht auch Z alleine, weil kein Offset benötigt wird.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
hallo Ralf,

ich habe deinen Vorschlag getestet; das "$"-Zeichen ist zwar nicht mehr da, aber die jetzige Lösung hilft mir nicht weiter:
(DATEDIF(XFD6;A6;"y"))&" Jahre"

das Ergebnis muss so aussehen, um in der anderen Datei weiterverarbeitet zu werden:
(DATEDIF(A6;B6;"y"))&" Jahre"

wellington
Antworten Top
#4
Dann spiele doch ein wenig mit dem Offset!
Ich habe es ohne Test geschrieben,
wahrscheinlich ist -5 und -4 "richtiger".
Ehrlich:
Ein wenig Mitdenken käme meiner Signatur näher.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
..hätte ich auch drauf kommen können, so läuft es

danke
wellington
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste