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

Formel um Zelle erweitern

Formel um Zelle erweitern
03.12.2021 08:07:51
Andre
Hallo ihr VBA Experten,
ich möchte einmal im Monat meine Formeln per Makro aktualisieren. Das Makro soll also meine bestehende Formel immer um einen Eintrag erweitern.
Bsp: Meine Formel lautet im Januar: ActiveCell.FormulaR1C1 = _
"=SUM(RC[50+RC[100]+RC[150]+RC[200])"
dann wäre es toll, wenn die Per Makro im Februar lautet: ActiveCell.FormulaR1C1 = _
"=SUM(RC[50+RC[100]+RC[150]+RC[200]+RC[250])"
und im März: ActiveCell.FormulaR1C1 = _
"=SUM(RC[50+RC[100]+RC[150]+RC[200]+RC[250]+RC[300])"
und so weiter.
Es soll also immer ein Eintrag drangehängt werden, der immer die selbe Anzahl an Spalten weiterliegt. Ich wäre euch super dankbar, wenn Ihr dafür eine Lösung hättet. Danke im Voraus und einen schönen Tag ! :)
Andre

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel um Zelle erweitern
03.12.2021 08:17:16
UweD
Hallo
Zeig doch mal deine Datei.
Ich denke, da lässt sich was vereinfachen / automatisieren.
LG UweD
AW: Formel um Zelle erweitern
03.12.2021 09:00:43
volti
Hallo Andre,
mal abgesehen von einer wie von Uwe vorgeschlagenen evtl. priorisiert durchzuführenden Optimierung/Vereinfachnung hier mal eine mögliche Vorgehensweise für Deine Formel:
Code:

[Cc]

Sub Test() Dim sArr() As String, sFormel As String sFormel = ActiveCell.FormulaR1C1 If sFormel Like "=*" Then sArr = Split(sFormel, "RC") sArr(0) = Replace(sArr(UBound(sArr)), ")", "") ActiveCell.FormulaR1C1 = Left$(sFormel, Len(sFormel) - 1) & "+RC[" _ & Val(Mid$(Replace(sArr(UBound(sArr)), "])", ""), 2) + 50) & "])" End If End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Formel um Zelle erweitern
03.12.2021 09:23:54
Daniel
HI
1. "=SUM(RC[50]+RC[100]+RC[150]+RC[200])" ist doppelt gemoppelt
Entweder: "=SUM(RC[50],RC[100],RC[150],RC[200])"
Oder: ="=RC[50]+RC[100]+RC[150]+RC[200]"
2. als Makro so, hier wird die Formel in Abhängigkeit vom Monat erstellt

Dim FO as string
Dim i as long
FO = "=SUM(RC[50],RC[100],RC[150]"
for i = 1 to Month(Datei)
FO = FO & ",RC[" & 150 + i * 50 & "]"
Next
FO = FO & ")"
ActiveCell.Formula = FO
Gruß Daniel
korrektur
03.12.2021 09:36:40
Daniel
bitte korrigieren:
for i = 1 to Month(Date)
Gruß Daniel
AW: Formel um Zelle erweitern
03.12.2021 10:26:25
Daniel
Hi
noch ne Formellösung, die sich monatlich automatsich anpasst:

=SUMMENPRODUKT(B1:ALL1;(REST(SPALTE(B1:ALL1);50)=REST(SPALTE();50))*(SPALTE(B1:ALL1)
statt B1 nimmst du die Zelle rechts neben der Zelle in welcher die Formel steht
die Zelle ALL1 musst du so wählen, wie Maximal Daten (also für Dezember) vorhanden sein können.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige