Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1636to1640
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

FormulaR1C1 > Formula mit SumIf

FormulaR1C1 > Formula mit SumIf
15.08.2018 23:21:21
Immo
Hallo, bitte um Hilfe in folgendem VBA Code
Folgende Formel funktioniert:
Range("K14").FormulaR1C1 = "=SUMIF(R[-12]C[5]:R[999985]C[5],"">0"",R[-12]C[5]:R[999985]C[5])"
da ich aber ein variables Ende habe, es eleganter lösen möchten und folgendes definiert habe:
Dim lz As Long
With ActiveSheet
lz = .Cells(.Rows.Count, 2).End(xlUp).Row
würde ich es gerne umbauen, es klappt aber nicht :(
Range("K14").Formula = "=SUMIF(""=P2:P"" & lz,"">0"",""=P2:P"" & lz)"
irgendwer ne Idee ? mehr oder weniger Häkchen oben ? Gleichheitszeichen ? Klammern ? Ich bin am Ende....

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: FormulaR1C1 > Formula mit SumIf
16.08.2018 01:11:44
Daniel
HI
entschuldige die Frage, haber hast dir schon mal mit eingeschaltetem Gehirn jemals eine Formel angeschaut?
Wo hast du denn gesehen, dass man eine Zelladresse mit gleichheitszeichen davor angibt?
Ich habe so etwas noch nie gesehen und frage mich, wie du auf diese Idee kommst.
entweder so:
Range("K14").FormulaR1C1 = "=SUMIF(R2C16:R" & lz & "C16,"">0"",R2C16:R" & lz & "C16)"
oder so
Range("K14").Formula = "=SUMIF(P2:P" & lz & ","">0"",P2:P" & lz & ")"
wenn man mit dem Zusammenstoppeln der Formeln geistig überfordert ist (was keine Schande ist, mir geht das auch so, zumindest wenn die Formeln länger werden) behilft man sich sich mit folgendem Trick:
dim FO as string
FO = "=SumIf(P2:Pzzz,"">0"",P2:Pzzz")
FO = Replace(FO, "zzz", lz)
Range("K14").Formula = Fo

sind zwar ein paar Programmzeilen mehr, ist dafür aber deutlich übersichtlicher, weil die Formel nicht mehr in mehrere Teile zerrissen wird.
Man muss nur darauf achten, dass man als Dummy-Text einen Text wählt, der ansonsten in der Formel nicht vorkommt.
Wenn Bedingungs- und Summenspalte die gleiche sind, brauchst du die Bedingungsspalte nicht angeben.
dann reicht: =SummeWenn(P2:P100;">0")
Gruß Daniel
Anzeige
AW: FormulaR1C1 > Formula mit SumIf
16.08.2018 08:17:35
Immo
Guten Morgen,
erst einmal vielen Dank für den Lösungsvorschlag... er funktioniert !
Die Antwort auf Deine Frage kann ich aber auch leicht geben:
Bei den Einen schaltet ab einer gewissen Uhrzeit das Gehirn eine Stufe runter, bei den anderen sind es "nur" die Manieren :)
Ich habe eine Menge ausprobiert, bin neu an der VBA Sache dran und habe einfach einen der letzten verzweifelten Versuche gepostet ohne darüber nachzudenken, wie logisch er noch ist... hätte ich die logisch richtige Version gehabt, hätte ich auch nicht nachfragen müssen.
Jedenfalls vielen Dank für die Beantwortung und die Work-Around Lösung.
Immo
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige