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

Summen-Formel in VBA

Forumthread: Summen-Formel in VBA

Summen-Formel in VBA
03.03.2005 17:17:34
Heinz
Liebe Excellenten,
ich habe folgendes Problem.
Ich habe in Spalte C (von C11 bis C43) absteigend
absolute Werte.
In der Zelle D11 (also rechts daneben) soll
via VBA "sinngemäß" die Formel C11 durch Summe(C11:C43)
enthalten sein.
Das muß aber irgendwie als Formel (und nicht als Festwert) da rein,
weil ich anschließend die Formel (mit autofill) nach unten ziehen möchte.
Also in der Zelle D12 muß (nach dem autofill) "sinngemäß"
C12 / Summe(C11:C43) drinstehen.
... und ich kriegs nicht hin.
Ich freue mich auf Eure Lösungsvorschläge.
Heinz
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Summen-Formel in VBA
03.03.2005 17:28:24
Andi
Hi,
muss es VBA sein?
Wenn ich Dich richtig verstanden habe, müsste
=C11/SUMME($C$11:$C$43)
doch auch gehen; die Formel kannst Du dann einfach runterkopieren.
Schönen Gruß,
Andi
[d11].formulaLocal="=Formel"
03.03.2005 17:29:25
ransi
hallo heinz
versuchs mal so:
[d11].formulaLocal="=C11/Summe($c$11:$c$43)"
ransi
Anzeige
AW: [d11].formulaLocal="=Formel"
04.03.2005 16:43:16
Heinz
Hallo ransi,
das kommt schon sehr nahe.
Ein Problem habe ich aber noch.
Während der Beginn der Spaltensumme mit Zeile 11
immer konstant ist, würde ich das Ende (in meinem
Beispiel die Zeile 43) gerne mit einer Variablen
einspielen.
Wie man eine Variable anlegt und mit der Zeilenzahl
aus der letzten Zeile belegt weis ich, aber wie kann ich
in Deine Formel diese Variable einbauen?
Ich freue mich auf Eure Rückmeldungen.
Heinz
Anzeige
AW: [d11].formulaLocal="=Formel"
04.03.2005 17:07:11
ransi
Hallo heinz
geht z.B. so:
Public

Sub t()
Dim Variable As Long
Variable = 60 'z.B
[d11].FormulaLocal = "=C11/Summe($c$11:$c$" & Variable & ")"
End Sub

ransi
Perfekt!!! vielen Dank o.T.
04.03.2005 19:20:52
Heinz
AW: [d11].formulaLocal="=Formel"
04.03.2005 19:32:34
Harry
Hallo Heinz,
versuch's mal mit folgendem Code:

Sub Summe_erstellen() 'Dauer: ca. 4 Sekunden
'erstellt Summenformel für "C12:C43" in Zelle "D11":
ActiveSheet.Cells(11, 4).FormulaR1C1 = "=SUM(RC[-1]:R[65525]C[-1])"
Formel_runterziehen
End Sub
Sub Formel_runterziehen()
'zieht Berechnung runter (Bsp. für eine solche Formel (i = 12):
'D12=C12/$D$11 in Zelle "D12")
Dim i As Long
For i = 12 To 65536 'ab Zeile 12...
'Gilt nur für Zellen, die nicht leer sind:
If ActiveSheet.Cells(i, 3).Value <> "" Then
ActiveSheet.Cells(i, 4).FormulaR1C1 = "=RC[-1]/R11C4"
End If
Next i
End Sub

Dieses Beipielmakro erstellt zuerst die Summe in "D11" und zieht dann die Berechnung bis zur letzten Zeile der Spalte "D", wobei leere Zellen in der Spalte "C" nicht berechnet werden
Gruss Harry
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige