HERBERS Excel-Forum - das Archiv

Thema: @ Zeichen in VBA generierter Formel

@ Zeichen in VBA generierter Formel
Heiko Grethe
Im Beitrag https://www.herber.de/forum/archiv/1876to1880/1878532_Zeichen_in_VBA_generierter_Formel.html
wurde das Thema eigentlich geklärt, aber die dort geposteten Lösungen funktionieren nicht bei meiner Excel-Version:
365 Business, englisch, aktuelle Version, 64 bit.

Wenn ich eine Formel poste

lastDataRow = "269648"

filling = "=UNIQUE(A5:A" & lastDataRow & ")"
Sheets(i).Range("E5").Formula = filling


Bekomme ich in der Zelle immer das @ Zeichen vor der Formel: =@UNIQUE(A5:A269648)

Ich habe es mit verschiedenen Optionen versucht (.Value, .FormulaR1C1, ...)
Doch immer bekommen ich das @ Zeichen.

An anderer Stelle setze ich über das gleiche VBA-Verfahren eine Count-Formel ein:
lastDataRow = "269648"

filling = "=Count(E5:E" & lastDataRow & ")"
Sheets(i).Range("E3").Formula = filling


da bekomme ich kein @ Zeichen: =COUNT(E5:E269648)

Allerdings bringt die Option .FormulaR1C1 in allen Fällen keinen lauffähige Formel

Sheets(i).Range("E3").FormulaR1C1 = filling


da Anführungszeichen gesetzt werden: =COUNT('E5':'E269648')

Hat jemand eine Idee bzw. Tipp, wie ich die UNIQUE Formel ohne @ einsetzen kann?
Nimm mal Formula2
{Boris}
VG, Boris
AW: @ Zeichen in VBA generierter Formel
Onur
Hallo Du Excel- und VBA-PROFI,
Wie soll denn
Sheets(i).Range("E3").FormulaR1C1 = filling

funktionieren, wenn
filling = "=Count(E5:E" & lastDataRow & ")"

A1-Referenzierung ( "E5:E") enthält ?
AW: @ Zeichen in VBA generierter Formel
Heiko Grethe
Hallo Onur,

ich fange hier mal keine Schlammschlacht an. Aber bitte den Code richtig lesen vor abfälligen Kommentaren:

lastDataRow = "269648"

filling = "=Count(E5:E" & lastDataRow & ")"


löst sich ja auf zu:

filling = "=Count(E5:E269648)"

Was natürlich in die entsprechenden Zellen die Formel

=Count(E5:E269648)


korrekt einsetzt.

Kann ich natürlich gerne auch noch näher erläutern, ergibt sich aber eigentlich direkt aus dem Code-Schnipzel

Schöne Grüße, Heiko

AW: @ Zeichen in VBA generierter Formel
Onur
".FormulaR1C1 = filling=Count(E5:E269648)" ist ja korrekt, ich habe NIE das Gegenteil behauptet - aber nur für A1-Schreibweise und NICHT für R1C1 (bzw Z1S1)-Schreibweise.
AW: @ Zeichen in VBA generierter Formel
daniel
Hi Onur
Heiko verwendet .Formula und nicht .FormulaR1C1
daher ist das was er macht, so schon korrekt.
das "R1C1" hast du hinzuphantasiert.
Gruß Daniel
AW: @ Zeichen in VBA generierter Formel
Onur
Er hat doch geschrieben:
"Allerdings bringt die Option .FormulaR1C1 in allen Fällen keinen lauffähige Formel
Sheets(i).Range("E3").FormulaR1C1 = filling
da Anführungszeichen gesetzt werden: =COUNT('E5':'E269648')"
AW: @ Zeichen in VBA generierter Formel
Heiko Grethe
Hallo Onur,

hör doch bitte einfach auf - Du mischt doch die Inhalte:
Die von Dir zitierte Zeile diente doch nur der Info, dass auch andere Varianten der Option "Formula" nicht das gewünschte Ergebnis brachten.

Boris hat dann sofort die Lösung gepostet: die Option "Formula2" bringt das korrekte Ergebnis.

Ist doch technisch alles geklärt und Dein Beitrag war eben wenig hilfreich - thats all.

Trotzdem schöne Grüße, Heiko
AW: Nimm mal Formula2
Heiko Grethe
Super Boris, funktioniert!
AW: Nimm mal Formula2
Heiko Grethe
Nein, doch nicht, zu früh gefreut:
Bei der Ausführung des Codes zeigt Excel im Formular das richtige Ergebnis und dann wird doch wieder mit @Unique abgeschlossen und die Formel NICHT ausgeführt.
Sehr eigenartiges Verhalten!
AW: Nimm mal Formula2
Heiko Grethe
Boris Lösung war RICHTIG.
Ich hatte am Ende meines Codes noch ein Experiment, das die Lösung nachträglich vernichtet hatte: Also einfach .formula2 benutzen und alles ist gut!
Danke Boris!