Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Text per VBA in Zelle einfügen

Text per VBA in Zelle einfügen
10.09.2024 15:15:32
Sonnengruss
Hallo
Ich möchte per VBA eine Excel-Formel (Text) in bestimmte Zellen einfügen. So kann ich per Knopfdruck die Formel wieder einfügen, sollte sie jemand aus versehen löschen. Wie würde der Code dafür aussehen?

Vielen Dank schonmal!
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text per VBA in Zelle einfügen
10.09.2024 15:36:28
Beverly
Hi,

da ich deine Formel nicht kenne - nach diesem Prinzip:

Sub FormelEinfuegen()

Range("A1:A10").Formula = "=B1*C1"
End Sub


Beachte dabei, dass Formeln wie SVERWEIS() o.a. in der englischen Schreibweise verwendet werden und die Trenner ; durch , ersetzt werden müssen.

Oder du verwendest anstelle .Formula dieses: .FormulaLocal - dann können die Formeln auch in der länderspezifischen Form im Code geschrieben werden.

Bis später
Karin

Link zur Homepage: https://excel-inn.de/
Anzeige
AW: Text per VBA in Zelle einfügen
10.09.2024 15:40:04
daniel
Im Prinzip so:

Range("A1").Formula = "=""Hier steht deine Formel"""

wobei du die Wahl hast, ob du die Formel in Englisch mit A1-Adressen, Deutsch mit A1-Adressen (.FormulaLocal), Englisch mit R1C1-adressen (.FormulaR1C1) oder auch in Deutsch mit Z1S1-Adressen (.FormulaR1C1Local) angeben möchtest.

das .FormulaR1C1-Format zeichnet dir auch der Makrorecorder auf.

zu beachten wäre noch, dass Anführungszeichen, die zur Formel gehören, verdoppelt werden müssen.

Gruß Daniel
Anzeige
sollte sie jemand aus versehen löschen
10.09.2024 19:34:05
RPP63
Moin!
Gegen versehentliches Löschen einer Formel hilft seit Urzeiten der Blattschutz.

Gruß Ralf
AW: Text per VBA in Zelle einfügen
10.09.2024 16:25:55
Sonnengruss
Das funktioniert bei mir noch nicht genau:

Wenn ich folgendes eingebe erhalte ich eine Fehlermeldung:
Range("A6").FormulaLocal = "=WENN(WENN(ODER($A$4='Veranstaltung......."

Wenn ich folgendes eingebe wird der Text zwar ins Feld geschrieben aber dann nicht als Formel:
Range("A6").FormulaLocal = "WENN(WENN(ODER($A$4='Veranstaltu
Anzeige
AW: Text per VBA in Zelle einfügen
10.09.2024 16:36:13
Beverly
Hi,

dann poste doch mal deine komplette Formel - nur dann kann man sehen was du eventuell falsch machst. Es muss auf jeden fall unbedingt = "=WENN(... heißen, weil sonst keine Formel sondern nur Text eingefügt wird.

Bis später
Karin

Link zur Homepage: https://excel-inn.de/
Anzeige
AW: Text per VBA in Zelle einfügen
10.09.2024 16:57:12
daniel
HI
der Text muss eine funktionierende Formel ergeben.
da du die Formel, die du verwendest, hier nur unvollständig zeigst, können wir dazu nichts sagen.
ein Fehler ist aber zu sehen, du verwendest das Hochkomma, wo eigentlich zwei Anführungszeichen stehen müssen.

Dass in VBA die Anführungszeichen, die Teil des Textes bzw der Formel sind, verdoppelt werden müssen, hatte ich ja geschrieben.

ich nehme an, du hast das gelesen!

Gruß Daniel
Anzeige
AW: Text per VBA in Zelle einfügen
12.09.2024 13:17:33
Sonnengruss
Hier die gesamte Formel

Sub Monatsaushängeaktualisieren2()
Range("A6").FormulaLocal = "=WENN(WENN(ODER($A$4='Veranstaltungen '!$B4;$B$4='Veranstaltungen '!$B4);'Veranstaltungen '!G4;"")=0;"";WENN(ODER($A$4='Veranstaltungen '!$B4;$B$4='Veranstaltungen '!$B4);'Veranstaltungen '!G4;""))"
Range("B6").FormulaLocal = "=WENN(WENN(ODER($A$4='Veranstaltungen '!$B4;$B$4='Veranstaltungen '!$B4);'Veranstaltungen '!K4;"")=0;"";WENN(ODER($A$4='Veranstaltungen '!$B4;$B$4='Veranstaltungen '!$B4);'Veranstaltungen '!K4;""))"
Range("C6").FormulaLocal = "=WENN(ODER($A$4='Veranstaltungen '!$B4;$B$4='Veranstaltungen '!$B4);'Veranstaltungen '!J4;"")"
Range("D6").FormulaLocal = "=WENN(WENN(ODER($A$4='Veranstaltungen '!$B4;$B$4='Veranstaltungen '!$B4);'Veranstaltungen '!T4;"")=0;"";WENN(ODER($A$4='Veranstaltungen '!$B4;$B$4='Veranstaltungen '!$B4);'Veranstaltungen '!T4;""))"
Range("E6").FormulaLocal = "=WENN(WENN(ODER($A$4='Veranstaltungen '!$B4;$B$4='Veranstaltungen '!$B4);'Veranstaltungen '!Q4;"")=0;"";WENN(ODER($A$4='Veranstaltungen '!$B4;$B$4='Veranstaltungen '!$B4);'Veranstaltungen '!Q4;""))"
End Sub


Anzeige
Formeln per VBA in Zelle einfügen
12.09.2024 13:27:07
Beverly
Die Formeln nach diesem Prinzip:

Range("A6").FormulaLocal = "=WENN(WENN(ODER($A$4='Veranstaltungen '!$B4;$B$4='Veranstaltungen '!$B4);'Veranstaltungen '!G4;"""")=0;"""";WENN(ODER($A$4='Veranstaltungen '!$B4;$B$4='Veranstaltungen '!$B4);'Veranstaltungen '!G4;""""))"

Bis später
Karin

Link zur Homepage: https://excel-inn.de/
Anzeige
AW: Text per VBA in Zelle einfügen
12.09.2024 13:35:59
daniel
Wie ich bereits MEHRFACH geschrieben haben, müssen Anführungzeichen, die zur Formel gehören verdoppelt werden.

dh aus:

Range("A6").FormulaLocal = "=WENN(WENN(ODER($A$4='Veranstaltungen '!$B4;$B$4='Veranstaltungen '!$B4);'Veranstaltungen '!G4;"")=0;"";WENN(ODER($A$4='Veranstaltungen '!$B4;$B$4='Veranstaltungen '!$B4);'Veranstaltungen '!G4;""))"

muss das hier werden:

Range("A6").FormulaLocal = "=WENN(WENN(ODER($A$4='Veranstaltungen '!$B4;$B$4='Veranstaltungen '!$B4);'Veranstaltungen '!G4;"""")=0;"""";WENN(ODER($A$4='Veranstaltungen '!$B4;$B$4='Veranstaltungen '!$B4);'Veranstaltungen '!G4;""""))"

da ich dass aber schon zwei mal in meinen Antworten an dich geschrieben habe, solltest du mir die Frage beantworten, warum du es bisher nicht umgesetzt hast?
ist der Satzteil "Anführungszeichen,...,müssen verdoppelt werden" zu kompliziert geschrieben, so dass du es nicht verstanden hast? wie hätte ich es formulieren müssen, damit du es gleich verstehst?

Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige