Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
196to200
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
196to200
196to200
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Variable FormulaR1C1

Variable FormulaR1C1
26.12.2002 02:02:13
Thomas
Hallo zusammen..

ich habe hier ein (kleines) Problem. Habe eine Tabelle mit beliebig vielen Zeilen. Vor dem automatischen Zeilenumbruch wird ein Zwischentotal eingefügt. Auf der letzten Zeile möchte ich nun das Total für die Spalte E bis AE von Zeile 11 bis x. Dazu zähle ich zuerst alle Zwischentotal zusammen (Variable erg), welche ich von der Summe abziehen will. Funkt alles Prima bis zur Stelle: "ActiveCell.Offset(0, s - 1).Formula = "=Summe(E11:E" & i2 - 1 & ")" & -erg", da immer die Spalte E berechnet wird. Habe schon mit FormulaR1C1 ausprobiert, gibt mir aber immer den Fehlerwert #Name$ zurück oder schreibt bloss =Sum(R11C5:R121C5) in die Zelle.
Ich hoffe, das ich mich verständlich ausgedrückt habe und mir jemand helfen kann. Vielen, vielen Dank. Gruss Thomas

Sub FormelTotal()
Dim erg As Currency
Dim i As Integer, i2 As Integer, s As Integer
Dim Zeile As Integer
Zeile = 11
Do While Cells(Zeile, 1) <> ""
Zeile = Zeile + 1
Loop
Range("A11").Select
erg = 0
For s = 5 To 31
For i = 1 To Zeile
If ActiveCell.Value = "Zwischentotal" Then
erg = ActiveCell(1, s).Value + erg
ActiveCell.Offset(1, 0).Select
Else
ActiveCell.Offset(1, 0).Select
End If
Next
Range("A65535").End(xlUp).Offset(0, 0).Select
i2 = ActiveCell.Row - 1
On Error Resume Next
ActiveCell.Offset(0, s - 1).Formula = "=Summe(E11:E" & i2 - 1 & ")" & -erg
Range("A11").Select
erg = 0
Next
Range("A11").Select
End Sub

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

Betreff
Datum
Anwender
Anzeige
Re: Variable FormulaR1C1
26.12.2002 13:34:57
Ramses
Verwende

ActiveCell.Offset(0, s - 1).FormulaLocal = "=Summe(E11:E" & i2 - 1 & ")"

Das "-erg" kannst du so nicht verwenden weil es als Funktionsname eingesetzt wird.
Die Variable kannst du nur in deinem Makro verwenden.

Workaraound:

X = Application.WorksheetFunction.Sum(E11:E" & i2 - 1 & ")"
x = x-erg
ActiveCell.Offset(0, s - 1) = x

Alternativ schau dir mal diesen Beitrag an.

Da kannst du wählen wo du die Teilsummen haben willst, wahlweise auch in der Fusszeile.
Die Teilsummen werden jeweils in der letzten Zelle einer wählbaren Spalte vor dem Seitenumbruch angelegt.

Gruss Rainer

Gruss Rainer

Anzeige
Re: Variable FormulaR1C1
26.12.2002 13:57:30
Thomas
Hallo Rainer,

Danke für deine Antwort. Habe die Zeile noch etwas abgeändert und es klappt schon.

ActiveCell.Offset(0, s - 1).FormulaR1C1 = "=sum(R" & intRow & "C" & intCol & ":R" & intRow + 110 & "C" & intCol & ")" & -erg

Aber ich nehme deinen Rat gerne zur Kenntniss und werde es entsprechend abändern (bin eben VBA-Neuling). Nur habe ich immer noch das weiter oben beschriebene Problem(chen) mit der "Z1S1" Bezugsart. tja tja
Dank dir

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige