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")
Antworten 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
Antworten 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 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • Excelsior940
Antworten 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.
Antworten 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?
Antworten 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
Antworten Top
#7
"INHALT WURDE ENFERNT"
Antworten Top


Gehe zu:


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