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

Formel als FormulaLocal

Forumthread: Formel als FormulaLocal

Formel als FormulaLocal
22.08.2024 18:44:40
Christian
Hallo, ich suche seit inzwischen einer Stunde den Fehler und finde ihn nicht, weil ich bekomme die Meldung Anwendungs oder objektorientierter Fehler:

Ich will die folgende, unstrittig sehr lange Formel, die als normale Excel Formel funktioniert, als Formula Local in mein Makro einfügen, aber ich bekomme diesen Fehler:

=WENN(UND(M1=30;G1>"");WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN("MRS "&TEXT(I1;"00000")&" "&B1&" ("&TEXT(C1;"TT.MM.JJJJ")&") - "&E1& " ("&TEXT(F1;"TT.MM.JJJJ")&") "&G1&"-"&H1;"#";"");"&";"");"""";"");"{";"");"}";"");"/";"");"\";"");"~";"");"%";"");"";"");">";"");":";"");"?";"");"*";"");"")


wsErgebnis.Range("Q1:Q" & lastRowErgebnisA).FormulaLocal =
"=WENN(UND(M1=30;G1>"""");WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(""MRS ""&TEXT(I1;""00000"")&"" ""&B1&"" (""&TEXT(C1;""TT.MM.JJJJ"")&"") - ""&E1&"" (""&TEXT(F1;""TT.MM.JJJJ"")&"") ""&G1&""-""&H1;""#"";"""");""&"";"""");"""";"""");""{"";"""");""}"";"""");""/"";"""");""\"";"""");""~"";"""");""%"";"""");"""";"""");"" >"";"""");"":"";"""");""?"";"""");""*"";"""");"""")"


die Variable lastRowErgebnisA ist korrekt, die benutze ich noch an einigen weiteren Stellen, an der kann es nicht liegen.

@Yal zu deinem Vorschlag vorhin mit dem Filter löschen, es handelt sich um dasselbe Makro, ich kann es nicht ausführen bzw. damit deinen Vorschlag testen, solange diese Meldung hier kommt...

Meine Vermutung ist einfach, ich hab mich im VBA Code mit den vielen Anführungszeichen verheddert, aber ich finde die Stelle nicht. Eventuell an der Stelle ;"""";""""), da wollte ich das " als Zeichen im Text durch nichts ersetzen.

Danke
Christian

Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel als FormulaLocal
22.08.2024 18:51:56
Eifeljoi 5
Hallo

Nicht als FormulaLocal sondern so:
Range("B1").Select

ActiveCell.FormulaR1C1 = _
"=IF(AND(RC[11]=30,RC[5]>""""),SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(""MRS ""&TEXT(RC[7],""00000"")&"" ""&RC&"" (""&TEXT(RC[1],""TT.MM.JJJJ"")&"") - ""&RC[3]& "" (""&TEXT(RC[4],""TT.MM.JJJJ"")&"") ""&RC[5]&""-""&RC[6],""#"",""""),""&"",""""),""""""""," & _
"""""),""{"",""""),""}"",""""),""/"",""""),""\"",""""),""~"",""""),""%"",""""),"""",""""),"">"",""""),"":"",""""),""?"",""""),""*"",""""),"""")" & _
""
Anzeige
Für dein...
22.08.2024 19:22:02
Case
Moin Christian, :-)

... Beispiel so: ;-)
Range("C11").FormulaLocal = "=WENN(UND(M1=30;G1>"""");WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(""MRS ""&TEXT(I1;""00000"")&"" ""&B1&"" (""&TEXT(C1;""TT.MM.JJJJ"")&"") - ""&E1& "" (""&TEXT(F1;""TT.MM.JJJJ"")&"") ""&G1&""-""&H1;""#"";"""");""&"";"""");"""""""";"""");""{"";"""");""}"";"""");""/"";"""");""\"";"""");""~"";"""");""%"";"""");"""";"""");"">"";"""");"":"";"""");""?"";"""");""*"";"""");"""")"


Oder:
Range("C10").Formula = "=IF(AND(M1=30,G1>""""),SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(""MRS ""&TEXT(I1,""00000"")&"" ""&B1&"" (""&TEXT(C1,""TT.MM.JJJJ"")&"") - ""&E1& "" (""&TEXT(F1,""TT.MM.JJJJ"")&"") ""&G1&""-""&H1,""#"",""""),""&"",""""),"""""""",""""),""{"",""""),""}"",""""),""/"",""""),""\"",""""),""~"",""""),""%"",""""),"""",""""),"">"",""""),"":"",""""),""?"",""""),""*"",""""),"""")"


Servus
Case
Anzeige
AW: Für dein...
22.08.2024 19:30:22
Christian
war jetzt wirklich der einzige Fehler dass du aus den 4 folgenden " 8 gemacht hast?

Dank dir, Case
Kann ich dir...
22.08.2024 19:45:31
Case
Moin Christian, :-)

... aus dem Stehgreif nicht sagen, denn ich habe ein Tool, welches mir eine Formel in allen möglichen Varianten ausgibt. ;-)

In der Regel teste ich das dann auch (hier mangels Datei nicht).

Servus
Case
Anzeige
AW: Kann ich dir...
22.08.2024 20:14:24
Christian
Hallo Case,

zum Thema Datei, ich wollte einen kleinen Auszug der Datei (9MB, was hier ja nicht hochladbar ist) und den relevanten Teilen des Makros schicken, was dann aber erstmal zu einer anderen FM geführt hat. Als ich die dann behoben hatte, und die Bsp Datei fertig war, war dann deine Antwort schon eingegangen. Hab mir dann erstmal die Antwort angeschaut und getestet und da es funktioniert hatte, hab ich die Bsp Datei dann nicht mehr abgeschickt.

Darf ich mal noch eine Frage allgemein zu der Nutzung des Forums stellen, seit ca. 2 Wochen muss ich bei jeder Antwort Name, Passwort und Mailadresse neu eingeben. Jemand eine Idee ob sich da irgendwas geändert haben könnte, z.b. eine Einstellung in meinem Firefox, die ich noch nicht gefunden habe?

Gruß
Christian
Anzeige
AW: Kannst du ...
23.08.2024 13:46:22
BoskoBiati2
Hallo ralf_b,

wie soll das helfen?

Gruß

Edgar
AW: Formel als FormulaLocal
22.08.2024 18:54:55
Christian
Hallo sorry, aber ich habe FormulaLocal nicht ganz ohne Grund genommen, mit der R1C1 Schreibweise bin ich überfordert. Ich weiß zwar das mit dem Direktbereich und ? ActiveCell.FormulaR1C1 zum umwandeln, aber wenn ich dann irgendwann mal nur einen Zellbezug ändern will blicke ich nicht mehr durch.

Aber ich schaue es mir trotzdem mal an, vielleicht finde ich ja anhand deines Beispiels trotzdem meinen Fehler.
Anzeige
AW: Formel als FormulaLocal
22.08.2024 19:04:45
Eifeljoi 5
Hallo

Wo ist das Problem?
Starte deinen Makrorecorder und kopiere deine Formel, das dürfte doch kein Problem sein.
AW: Formel als FormulaLocal
22.08.2024 19:08:17
Yal
Hallo zusammen,

einfache eine Zelle nehmen, wo diese Formel funktioniert und daraus folgende Untersuchung machen:
Sub Formel_anzeigen()

With Range("xyz")
Debug.Print .Formula
Debug.Print .FormulaLocal
Debug.Print .FormulaR1C1
Debug.Print .FormulaR1C1Local
End With
End Sub


Aber wenn schon eine Datei mit Makro (es sei die Makro nur dei Verarbeitung leisten, aber nicht mit der Datei gespeichert werden), warum nicht User Defined Function?
Mit
Public Function ReplaceVorbidenChar(ByVal Target) As String

Dim i
Dim Erg As String
If TypeOf Target Is Range Then Target = CStr(Target.Value)
For i = 1 To Len(Target)
If InStr(1, "#&{}/\~%>]:?*", Mid(Target, i, 1)) = 0 Then Erg = Erg & Mid(Target, i, 1)
Next
ReplaceVorbidenChar = Erg
End Function

könnte man die Formel so reduzieren:
"=WENN(UND(M1=30;G1>"""");ReplaceVorbidenChar(""MRS ""&TEXT(I1;""00000"")&"" ""&B1&"" (""&TEXT(C1;""TT.MM.JJJJ"")&"") - ""&E1&"" (""&TEXT(F1;""TT.MM.JJJJ"")&"") ""&G1&""-""&H1);"""")"



VG
Yal



Anzeige
AW: Formel als FormulaLocal
22.08.2024 19:27:49
Christian
Hallo Yal, ok, dieser Vorschlag hat funktioniert, danke. Dann mache ich mich jetzt an die Sache mit dem Filter.
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige