Formel in VBA

Bild

Betrifft: Formel in VBA
von: Dieter
Geschrieben am: 13.11.2015 21:58:05

Liebe Forum-Mitglieder,
ich habe leider ein Problem bei der Umsetzung einer Formel über VBA. Die Formel über Excel ist soweit funktionsfähig, möchte aber die Formel automatisiert in mehreren Zellen einsetzen.
Formel in VBA (erhalte die Meldung "Anwendungs- und objektorientierter Fehler"):
Sheets(cLand.Item(l)).Cells(k, f).Formula = "=ZÄHLENWENNS('report'!$D$2:$D$" & LetzteZeile & ";" & cLand.Item(l) & ";report!$H$2:$H$" & LetzteZeile & ";" & Cells(1, n).Address & ";'report'!$I$2:$I$" & LetzteZeile & ";A$" & m & ";'report'!$Q$2:$Q$" & LetzteZeile & ";""<>Y"")"
Formel in Excel (funktioniert):
=ZÄHLENWENNS(report!$D$2:$D$34398;"AT";report!$H$2:$H$34398;B$1;report!$I$2:$I$34398;$A2; report!$Q$2:$Q$34398;"<>Y")
Ich finde nach einige investierten Stunden den Fehler nicht. Hoffe, auf eure Hilfe.
Danke und Grüße,
Dieter

Bild

Betrifft: AW: Formel in VBA
von: Sepp
Geschrieben am: 13.11.2015 22:11:21
Hallo Dieter,
bei "VBA-Gut" solltest du wissen, dass .Formula die englische Schreibweise erwartet (COUNTIFS), das Semikolon durch das Komma ersetzt werden muss und dass man die Anführungszeichen innerhalb der Formel verdoppeln muss.
Ohne deine Variablen sähe das so aus:

.Formula = "=COUNTIFS(report!$D$2:$D$34398,""AT"",report!$H$2:$H$34398,B$1,report!$I$2:$I$34398,$A2, report!$Q$2:$Q$34398,""<>Y"")"


Gruß Sepp


Bild

Betrifft: AW: Formel in VBA
von: Beverly
Geschrieben am: 14.11.2015 09:25:26
Hallo Dieter,
Ergänzung zu Sepps Beitrag: du kannst die deutsche Formelschreibweise beibehalten, wenn du statt .Formula -> .FormulaLocal verwendest.




Bild

Betrifft: AW: Formel in VBA
von: Dieter
Geschrieben am: 15.11.2015 12:32:33
Hallo Sepp und Karin,
danke für eure Hilfe. Es funktioniert nun einwandfrei.
Hatte früher bereits mit Formeln in VBA gearbeitet, aber leider vergessen, dass man da mit FORMULALOCAL arbeiten muss.
Viele Grüße und einen schönen Sonntag,
Dieter

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Formel in VBA"