Clever-Excel-Forum

Normale Version: Funktion mit VBA in Zelle schreiben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo

Wie kann ich eine Funktion mittels VBA in eine Zelle Schreiben?

Ich arbeite in einem worksheet und habe bereits folgendes versucht:

.Range("P17").Formula = "=Formel"

-> Fehler: Syntaxfehler

Meine Formel die ich einfügen möchte ist folgende:

=WENNFEHLER(INDEX('Systemprüfung-Kurzbeschreibung'!$I$10:$I$120;AGGREGAT(15;6;ZEILE('Systemprüfung-Kurzbeschreibung'!$I$10:$I$120)-9/(('Systemprüfung-Kurzbeschreibung'!$V$10:$V$120=B17)*('Systemprüfung-Kurzbeschreibung'!$Y$10:$Y$120=F17));B19));"Kein Test vorhanden")
Hallo,

unterscheide

.Formula : englische Notation
.FormulaLocal : deutsche Notation

Notation ist sowohl der Name der Funktion ("=summe()"; "=sum()") als auch das Trennzeichen (eng: ","; dt: ";")

mfg
Du musst Texte in doppelte Anführungszeichen setzen, also
Code:
""Kein Test vorhanden""
anstatt
Code:
"Kein Test vorhanden"

Verwende außerdem
Code:
.Range("P17").FormulaLocal = "=Formel"


Solche Probleme lassen sich aber eigentlich wunderbar mit dem Makrorekorder lösen.
Dankeschön MisterBurns
Wie würdest du bei der Makroaufzeichnung vorgehen?
Ich habe dies bereits versucht, allerdings lediglich mit coby und paste per Hand.
Verwende außerdem

Code:
.Range("P17").FormulaLocal = "=Formel"
Bei der Verwendung hiervon bekomme ich eine Fehlermeldung:

Fehler beim Kompilieren:
Unzulässiger oder nicht ausreichend definierter Verweis

Muss ich noch was vor den Punkt von Range schreiben?
Das kommt davon, wenn man nur Codeschnipsel postet - woher sollen wir wissen, wie dein Code aussieht?
Wenn du vor Range den Punkt stehen hast, muss die Zeile in einer With-Anweisung stehen. Hast du keine solche Anweisung, brauchst du auch keinen Punkt.
Steht dein Code im Tabellenblattmodul oder in einem allgemeinen Modul? Wenn im allgemeinen Modul, dann schreibe
Code:
Sheets("DeinTabellenblatt").Range("P17").FormulaLocal = "=Formel"

Und ist die Frage bezüglich Makroaufzeichnung ein Scherz? Du startest die Aufzeichnung, gibst die Formel in die Zelle ein und beendest die Aufzeichnung. Was brauchst du noch?
"INHALT WURDE ENFERNT"