Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1708to1712
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 mit VBA einfügen

Formel mit VBA einfügen
30.08.2019 09:36:38
Bernd
Servus zusammen,
ich habe gerade eine Formel mit VBA in meinem Code eingefügt, allerdings meckert der Editor immer gleich "Fehler beim Compilieren: erwartet Anweisungsende".
Über die Formel möchte ich mir die Überschrift für ein Pivot-Diagramm automatisch zusammenfassen lassen.
Code zur Formel:

.Cells(1, 7).FormulaLocal = _
"=WENN(UND(E1"""";E2"""";E3"""");""Warranty Status  "" & A1 & "": "" & E1 & ""   "" & A2 & _
"": "" & E2 & ""   "" & A3 & "": "" & E3 & _
";WENN(UND(E1"""";E2"""";E3=""""); ""Warranty Status "" & A1 & "": "" & E1 & ""   "" & A2 &  _
"": "" & E2 & _
";WENN(UND(E1"""";E2="""";E3"""");""Warranty Status "" & A1 & "": "" & E1 & ""   "" & A3 & " _
": "" & E3 & _
";WENN(UND(E1="""";E2"""";E3"""");""Warranty Status "" & A2 & "": "" & E2 & ""   "" & A3 & " _
": "" & E3 & _
";WENN(UND(E1"""";E2="""";E3="""");""Warranty Status "" & A1 & "": "" & E1 & _
";WENN(UND(E1="""";E2"""";E3="""");""Warranty Status "" & A2 & "": "" & E2 & _
";WENN(UND(E1="""";E2="""";E3"""");""Warranty Status "" & A3 & "": "" & E3;""Warranty Status"" _
)))))))"
Der besseren Übersicht wegen noch als Screenshot:
Userbild
Interessanterweise meckert der Compiler erst bei der zweiten "Wenn"-Zeile, nicht bei der ersten... Ich versteh das gerade nicht mehr.
Muss ich die ";" am Anfang einer jeden Zeile vielleicht anders setzen?
Kann mir bitte jemand bei der Fehlersuche helfen?
Danke und Grüße, Bernd

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel mit VBA einfügen
30.08.2019 09:39:27
Bernd
Servus nochmal,
die Formel selbst funktioniert in der Tabelle...
Userbild
Danke und Grüße, Bernd
AW: Formel mit VBA einfügen
30.08.2019 10:12:58
ChrisL
Hi Bernd
...;""Warranty Status  "" & A1 & "": "" & E1 & ...

...;""Warranty Status  """ & A1 & ": " & E1 & ...

Ansonsten mach einfach
Debug.Print ActiveCell.Formula und kopiere es aus dem Direktfenster.
Würde sowieso Formula anstelle FormulaLocal verwenden
cu
Chris
Anzeige
AW: Formel mit VBA einfügen
30.08.2019 10:16:14
ChrisL
ne Moment, die gezeigte Zeile ist Quatsch...
kopiere mal die Originalformel ins Forum (ohne pre-tag)
AW: Formel mit VBA einfügen
30.08.2019 13:06:39
Bernd
Servus ChrisL,
danke für deine Hilfe. In der Zelle G7 steht die folgende Originalformel:
=WENN(UND(E1"";E2"";E3"");"Warranty Status "&A1&": "&E1&" "&A2&": "&E2&" "&A3&": "&E3; WENN(UND(E1"";E2"";E3="");"Warranty Status "&A1&": "&E1&" "&A2&": "&E2;WENN(UND(E1"";E2=""; E3"");"Warranty Status "&A1&": "&E1&" "&A3&": "&E3;WENN(UND(E1="";E2"";E3""); "Warranty Status "&A2&": "&E2&" "&A3&": "&E3;WENN(UND(E1"";E2="";E3=""); "Warranty Status "&A1&": "&E1;WENN(UND(E1="";E2"";E3="");"Warranty Status "&A2&": "&E2; WENN(UND(E1="";E2="";E3"");"Warranty Status "&A3&": "&E3;"Warranty Status")))))))
In E1 steht: =WENN(B1"(Alle)";B1;"")
In E2 steht: =WENN(B2"(Alle)";WENN(B2="WAHR";"ja";"nein");"")
In E3 steht: =WENN(B3"(Alle)";B3;"")
Was ich eigentlich erreichen möchte ist, dass ich die Diagrammüberschrift automatisch bei Betätigung des Bereichsfilters aktualisiert.
Userbild
Wenn also KoGr gefiltert wird soll in G7 (und damit in der Diagrammüberschrift) "Warranty Status KoGr: xyz" stehen. Wenn ich zusätzlich noch nach Kontinent (z.B. Amerika) filtere, dann erweitert sich die Überschrift entsprechend zu ""Warranty Status KoGr: xyz Kontinent: Amerika"...
Danke und Grüße, Bernd
Anzeige
AW: Formel mit VBA einfügen
30.08.2019 13:11:11
Bernd
Ach und offen :-)
AW: Formel mit VBA einfügen
30.08.2019 13:25:21
Bernd
Servus zusammen,
gelöst! Unglaublich, wieviele "" man dafür braucht :-)
Danke an ChrisL für den Tipp mit debug.print! Har mich auf die Lösung gebracht!
Zur Vervollständigung:
.Cells(1, 7).Formula = "=IF(AND(E1"""",E2"""",E3""""),""Warranty Status "" & A1 & "": "" & E1 & "" "" & A2 & "": "" & E2 & "" "" & A3 & "": "" & E3,IF(AND(E1"""",E2"""",E3=""""),""Warranty Status "" & A1 & "": "" & E1 & "" "" & A2 & "": "" & E2,IF(AND(E1"""",E2="""",E3""""),""Warranty Status "" & A1 & "": "" & E1 & "" "" & A3 & "": "" & E3,IF(AND(E1="""",E2"""",E3""""),""Warranty Status "" & A2 & "": "" & E2 & "" "" & A3 & "": "" & E3,IF(AND(E1"""",E2="""",E3=""""),""Warranty Status "" & A1 & "": "" & E1,IF(AND(E1="""",E2"""",E3=""""),""Warranty Status "" & A2 & "": "" & E2,IF(AND(E1="""",E2="""",E3""""),""Warranty Status "" & A3 & "": "" & E3,""Warranty Status"")))))))"
Grüße, Bernd
Anzeige
AW: Formel mit VBA einfügen
30.08.2019 10:49:11
ChrisL
Hi nochmal
Ich würde erst einmal die Formel aufräumen und die Verschachtelung soweit möglich auflösen.
="Warranty Status  " & VERGLEICH() & ": " & VERGLEICH() & "   " & ...?
Soweit ich verstehe holst du bei den ersten zwei Variablen den ersten beschriebenen Wert aus E1:E3.
http://www.excelformeln.de/formeln.html?welcher=49
Die letzten optionalen Variablen verstehe ich nicht resp. erscheinen mir willkürlich. Was womöglich daran liegt, dass wir nur die halbe Tabelle sehen.
Da ich kein Formel-Profi bin, bitte Frage ggf. wieder als offen markieren.
cu
Chris
Anzeige
AW: Formel mit VBA einfügen
30.08.2019 13:27:25
MCO
Hallo Bernd!
Die Formel ist bedeutend einfacher, wenn die Ergebnisse einzeln abgefragt werden.
="Warranty Status  "&WENN(E1"";A1&": "&E1 &" ";"")&WENN(E2"";A2&": "&E2&" ";"")&WENN(E3""; A3&": "&E3;"")
(Zeilenumbruch löschen!)
als VBA siehts dann so aus:
Range("G1").formulalocal = "=""Warranty Status  ""&WENN(E1"""";A1&"": ""&E1 &"" "";"""")&WENN(E2"""";A2&"": ""&E2&"" "";"""")&WENN(E3"""";A3&"": ""&E3;"""")"
Gruß, MCO
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige