Registriert seit: 25.06.2023
Version(en): 2007
Hallo an alle Teilnehmer im CEF,
in der nachfolgenden Formel will ich den Platzhalter "NAME, Vorname *xxxx; " durch Variablen ersetzen:
Anstatt NAME soll die Variable: FamName übernommen werden
Anstatt Vorname soll die Variable: Vorname übernommen werden
Anstatt xxxx; soll die Variable: Geb_Jahr übernommen werden
Range("F" & Zeile + 1).FormulaLocal = Replace("=""NAME, Vorname *xxxx; "" &(DATEDIF(A_;B_;""y""))& "" Jahre""", "_", Zeile + 1)
Ich habe bereits diverse Lösungsversuche unternommen, finde aber nicht die richtige Schreibweise.
Hat jemand in diesem Forum einen Lösungsvorschlag?
danke
wellington
Registriert seit: 28.08.2022
Version(en): 365
Hi,
wenn ich dich richtig verstanden habe:
Range("F" & Zeile + 1).FormulaLocal = "=""" & FamName & ", " & Vorname & " *" & Geb_Jahr & """&(DATEDIF(A" & Zeile + 1 & ";B" & Zeile + 1 & ";""y""))&"" Jahre"""
Mit R1C1-Schreibweise wird es etwas einfacher:
Range("F" & Zeile + 1).FormulaLocalR1C1 = "=""" & FamName & ", " & Vorname & " *" & Geb_Jahr & """&(DATEDIF(C1;C2;""y""))&"" Jahre"""
Gruß,
Helmut
Win10 - Office365 / MacOS - Office365
Registriert seit: 25.06.2023
Version(en): 2007
Hallo Helmut,
danke für die schnelle Rückmeldung
diese Furmel funktioniert genau so wie ich es mir vorgestellt habe:
Range("F" & Zeile + 1).FormulaLocal = "=""" & FamName & ", " & Vorname & " *" & Geb_Jahr & """&(DATEDIF(A" & Zeile + 1 & ";B" & Zeile + 1 & ";""y""))&"" Jahre"""
Bei der Formel mit R1C1-Schreibweise erscheint die Fehlermeldung:
Laufzeitfehler 438:
Objekt unterstützt diese Eigenschaft oder Methode nicht
Mit der erstgenannten Formel bin ich vollkommen zufrieden
nochmals vielen Dank und noch einen schönen Sonntag
wellington
Registriert seit: 28.08.2022
Version(en): 365
Hi,
da ich gerade am iPad sitze, kann ich schlecht nachschauen, welche Eigenschaften Range in Bezug auf Formeln unterstützt. Kann sein, dass es statt .FormulaLocalR1C1 .FormulaR1C1Local heißen muss.
Gruß,
Helmut
Win10 - Office365 / MacOS - Office365
Registriert seit: 25.06.2023
Version(en): 2007
Hallo helmut,
deine Variante mit "R1C1" enthält feste Zellenangaben mit C1 und c2:
Range("F" & Zeile + 1).FormulaLocalR1C1 = "=""" & FamName & ", " & Vorname & " *" & Geb_Jahr & """&(DATEDIF(C1;C2;""y""))&"" Jahre"""
Ich benötige hingegen die Variante mit variabler Zellzuweisung wie in deinem ersten Vorschlag beschrieben:
Range("F" & Zeile + 1).FormulaLocal = "=""" & FamName & ", " & Vorname & " *" & Geb_Jahr & """&(DATEDIF(A" & Zeile + 1 & ";B" & Zeile + 1 & ";""y""))&"" Jahre"""
Genau so benötige ich die Formel
vielen Dank
wellington
Registriert seit: 28.08.2022
Version(en): 365
Teste es doch einfach mal! Und wenn du dich wunderst, wieso es funktioniert, dann mach dich mal über die R1C1-Adressierung schlau…
Gruß,
Helmut
Win10 - Office365 / MacOS - Office365
Registriert seit: 25.06.2023
Version(en): 2007
sh.meine Mitteilung von:
25.06.2023, 14:26
Hallo Helmut,
danke für die schnelle Rückmeldung
diese Formel funktioniert genau so wie ich es mir vorgestellt habe:
Range("F" & Zeile + 1).FormulaLocal = "=""" & FamName & ", " & Vorname & " *" & Geb_Jahr & """&(DATEDIF(A" & Zeile + 1 & ";B" & Zeile + 1 & ";""y""))&"" Jahre"""
Bei der Formel mit R1C1-Schreibweise erscheint die Fehlermeldung:
Laufzeitfehler 438:
Objekt unterstützt diese Eigenschaft oder Methode nicht
Mit der erstgenannten Formel bin ich vollkommen zufrieden
nochmals vielen Dank und noch einen schönen Sonntag
wellington
Registriert seit: 28.08.2022
Version(en): 365
25.06.2023, 20:18
(Dieser Beitrag wurde zuletzt bearbeitet: 25.06.2023, 20:18 von HKindler.)
Dann bleib halt bei der komplizierteren Lösung.
Zum fett markierten Fehler habe ich doch was geschrieben. Und bevor ich einen sowieso komplizierteren String noch komplizierter mache, weil ich eine ungeeignete bzw. kompliziertere Adressierungsart verwende, würde ich die besser geeignete Adressierungsart verwenden.
Nur wer dazu lernt wird besser!
Gruß,
Helmut
Win10 - Office365 / MacOS - Office365
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
Moin!
Ungeprüft:
Es heißt FormulaR1C1Local
Das Local beißt sich dann natürlich mit C1
Statt DATEDIF(C1;C2;""y"")
müsste es dann DATEDIF(ZS1;ZS2;""y"") heißen.
Wie geschrieben, ist das nicht getestet.
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)
Registriert seit: 25.06.2023
Version(en): 2007
moin Ralf,
ich habe deinen Korrekturvorschlag eingesetzt und jetzt funktioniert auch die von Helmut vorgeschlagene "R1C1"-Lösung
Range("F" & Zeile + 1).FormulaR1C1Local = "=""" & FamName & ", " & Vorname & " *" & Geb_Jahr & """&(DATEDIF(ZS1;ZS2;""y""))&"" Jahre"""
In der Tabelle sieht das Ergebnis dann so aus: MUSTER, Hans *199924 Jahre
noch eine abschließende Frage:
An welcher Stelle der Formel müsste ich ein Semikolon setzen damit es so aussieht: 1999; 24 Jahre
Danke für die korrigierte Formel, die ich nun auch nachvollziehen kann.
wellington