Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1524to1528
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 per VBA einfügen

Formel per VBA einfügen
23.11.2016 09:09:23
Januel
Hallo habe ein Problem,
auch nach dem Probieren einiger Codes aus dem Forum klappt bei mir noch nichts.
Ich möchte bei vielen Tabellen automatisch am Ende für vier Spalten die Summe ermitteln.
'in die Tabelle springen
Sheets(NeuerName).Select
'in die erste freie Zeile springen
Cells(65000, 2).End(xlUp).Offset(1, 0).Select
'die Zeilennummer abfragen
x = ActiveCell.Row
'2 Zeilen tiefer gehen
Y = x + 2
'in Spalte "B" den begriff Summe: eingeben
Cells(Y, 2).Value = "Summe:"
' hier nun für Spalte C: die Summe von C7 bis C & X eintragen
Cells(x, 3).FormulaR1C1 = "=SUM(R[7]C[3]:R[x]C[2])"
' weiter für Spalte D -F
funktioniert leider nicht Einfach wäre die Forrmel
=Summe("C7":"C" & """ & X &""") einzutragen
was mache ich warum falsch.
Karl-Heinz

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

Betreff
Datum
Anwender
Anzeige
AW: Formel per VBA einfügen
23.11.2016 09:36:06
baschti007
Hey Versuche es mal so
Gruß Basti
Sub sfs()
With Sheets("Tabelle1")
C = 3
r = .Cells(.Rows.Count, 3).End(xlUp).Row
.Cells(r + 2, C - 1).Value = "Summe:"
For CC = C To 6
SpaltenBuchstabe = Split(Replace(Columns(CC).Address, "$", ""), ":")(0)
Cells(r + 2, CC).FormulaLocal = "=SUMME(" & SpaltenBuchstabe & "7:" & SpaltenBuchstabe & r & ") _
Next
End With
End Sub

AW: Formel per VBA einfügen
23.11.2016 09:39:42
baschti007
Punkt vergessen =D
Sub sfs()
With Sheets("Tabelle1")
C = 3
r = .Cells(.Rows.Count, C).End(xlUp).Row
.Cells(r + 2, C - 1).Value = "Summe:"
For CC = C To 6
SpaltenBuchstabe = Split(Replace(Columns(CC).Address, "$", ""), ":")(0)
.Cells(r + 2, CC).FormulaLocal = "=SUMME(" & SpaltenBuchstabe & "7:" & SpaltenBuchstabe & r & " _
)"
Next
End With
End Sub

Anzeige
AW: Formel per VBA einfügen
23.11.2016 09:49:15
Daniel
Hi
mal Grundsätzlich:
1. wenn du eine Formel in einen Text einbinden willst musst du
- den Text mit " beenden
- die Variable mit & anbinden
- den folgenden Text wieder mit & anbinden und mit " beginnen:
dim x as string
x = "Karl-Heinz"
Msgbox "Hallo " & x & ", wie geht es dir?"
das Prinzip gilt natürlich auch bei Formeln, welche ja auch nur einfache Texte sind.
2. in der R1C1-Schreibweise ist bei den Zelladressen so:
- "R" steht für Row/Zeile
- "C" steht für Column/Spalte
- danach folgt die Zeilen- bzw Spaltennummer
- für absolute Zellbezüge steht folgt die Nummer direkt, ohne Klammern.
R1C1 ist also der Bezug auf die Zelle in Zeile 1 in der Spalte 1, dh A1 (bzw $A$1, da absoluter Bezug)
- bei relativen Zellbezügen steht der Versatzwert in eckigen Klammern.
dh R[7]C[3] ist nicht der Bezug auf C7, sondern der Bezug auf die Zelle 7 Zeilen unterhalb und 3 Spalten rechts der Zelle, in welcher sich die Formel befindet.
bei Relativen Bezügen auf die gleiche Zeile oder Spalte R[0] bzw C[0] darf man das [0] auch ganz weglassen. RC1 ist der Bezug auf die Zelle in der geleichen Zeile in Spalte 1.
wenn du also unterhalb der Werte einer Spalte die Summe haben willst, ist die Formel einfach:
Cells(Y, 3).FormulaR1C1 = "=Sum(R7C:R[-2]C)"
die Formel kannst du so in jede Spalte einfügen.
Gruß Daniel
Anzeige
AW: Formel per VBA einfügen
23.11.2016 09:55:28
UweD
Hallo
für die eingetragenen Blätter
für die Spalten C bis F
Sub Summen()
    Dim TB, ARR, LR As Long, SP As Integer
    ARR = Array("NeuerName", "Tabelle2", "Tabelle3")
    For Each TB In ARR
        With Sheets(TB)
            For SP = 3 To 6 'von C bis F 
                LR = .Cells(.Rows.Count, SP).End(xlUp).Row + 2
                .Cells(LR, SP).FormulaR1C1 = "=SUM(R7C:R[-2]C)"
            Next
        End With
    Next
End Sub
LG UweD
Sind die Spalten C bis F immer gleich gefüllt kann eine Schleife wegfallen
Anzeige
AW: Formel per VBA einfügen
25.11.2016 10:22:31
Januel
Vielen Vielen Dank
es funktioniert habe sogar was gelernt, was ja auch der zweck ist.
Programmiere sonst fast immer mit Access
Jetzt lerne ich es in Excel
Karl-Heinz

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige