Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1732to1736
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formel aus VBA in Zelle schreiben

Formel aus VBA in Zelle schreiben
16.01.2020 13:23:50
MarC
Servus alle,
ich möchte diese Formel mittels VBA in meine Zellen schreiben. Ich habe auch schon eine mögliche Lösung nur diese nicht richtig umgesetzt bzw. ich finde meinen Fehler nicht. Könnte mir bitte jemand bei der Fehlersuche helfen?
Formel:
=WENN(ODER(J7="Closed";J7="Canceled");"";H7-HEUTE() & " Overdue")
Meine Lösung (Dynamisch):
.Cells(loLetzte, 9).Formula = "=WENN(ODER(" & .Range(.Cells(loLetzte, 7).Address(0, 0) & "="Closed"; " & .Range(.Cells(loLetzte, 7).Address(0, 0) & "="Canceled");"";(-Heute() & " Overdue")))"

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: FormulaLocal
16.01.2020 13:30:45
Fennek
Hallo,
entweder nimmst du "Cells.Formula" und dann die engliche Schreibweise oder "Cells.FormuulaLocal".
mfg
AW: FormulaLocal
16.01.2020 13:59:53
guennih
Am besten benutzt Du in VBA durchgängig engl. Schreibweise.
Auf Dauer tust Du dich damit leichter, und du bist robuster ggü Spracheffekten.
AW: Formel aus VBA in Zelle schreiben
16.01.2020 13:56:53
Daniel
Hi
wie schon beschrieben:
.Formula: Formeln in englisch, dh englische Funktionsnamen und Komma als Trennzeichen
.FormulaLocal: Formel in Landessprache (deutsch) mit Semikolon als Trennzeichen.
Grundsätzlich gilt, dass Anführungszeichen, die zum Text gehörnen immer doppelt angegeben werden müssen, damit sie der Editor von den Anführungszeichen unterscheiden kann, die den Teiltext begrenzen.
außerdem sollte man sich in VBA mit der .FormulaR1C1 bzw .FormulaR1C1Local-Schreibweise von Formeln anfreunden, weil in dieser Schreibweise relative Zellbezüge auch wirklich relativ beschrieben werden können und somit der Code einfacher bzw konstant wird, so dass man ihn nicht mehr zusammenstückeln muss.
in deinem Fall:
.Cells(LoLetze, 9).FormulaR1C1 = "=IF(OR(RC10=""Closed"",RC10=""Cancelecd""),"""",RC8-Today()&"" _
Overdue"")"

wie du siehst, ist die Formel ein einfacher Texte ohne Unterbrechungen.
Wenn du das nicht selber schreiben willst, der Recorder zeichnet so auf, so dass es eigentlich ganz einfach ist, den Code für das Schreiben von Formeln zu erstellen.
Gruß Daniel
Anzeige
Danke euch :-)
20.01.2020 17:48:38
MarC
Hi Daniel, ich habe mir schon gedacht dass sich das beißt, wenn ich nur ein " hin mache, aber ich habe nirgendwo gelesen das bei einem Text in einer Formel "" am Anfang und Ende eines Textes hingekommen. Aber egal jetzt weiß ich es und deine mega kurze Lösung läuft auch. Vielen Dank für deine Hilfe

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige