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

Forumthread: @ Zeichen in VBA generierter Formel

@ Zeichen in VBA generierter Formel
05.04.2024 14:28:32
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?
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nimm mal Formula2
05.04.2024 14:37:33
{Boris}
VG, Boris
AW: @ Zeichen in VBA generierter Formel
05.04.2024 16:48:47
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 ?
Anzeige
AW: @ Zeichen in VBA generierter Formel
08.04.2024 11:43:27
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

Anzeige
AW: @ Zeichen in VBA generierter Formel
08.04.2024 13:18:14
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
08.04.2024 11:51:16
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
Anzeige
AW: @ Zeichen in VBA generierter Formel
08.04.2024 13:21:50
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
09.04.2024 14:05:19
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
Anzeige
AW: Nimm mal Formula2
05.04.2024 14:45:14
Heiko Grethe
Super Boris, funktioniert!
AW: Nimm mal Formula2
05.04.2024 14:49:50
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
05.04.2024 15:03:36
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!
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige