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.

Funktion mit VBA in Zelle schreiben
#1
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")
Antwortento top
#2
Hallo,

unterscheide

.Formula : englische Notation
.FormulaLocal : deutsche Notation

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

mfg
Antwortento top
#3
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.
Schöne Grüße
Berni
[-] Folgende(r) 1 Benutzer sagt Danke an MisterBurns für diesen Beitrag:
  • Excelsior940
Antwortento top
#4
Dankeschön MisterBurns
Wie würdest du bei der Makroaufzeichnung vorgehen?
Ich habe dies bereits versucht, allerdings lediglich mit coby und paste per Hand.
Antwortento top
#5
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?
Antwortento top
#6
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?
Schöne Grüße
Berni
Antwortento top
#7
"INHALT WURDE ENFERNT"
Antwortento top


Gehe zu:


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