Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
564to568
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
564to568
564to568
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Summenbildung per VBA
12.02.2005 22:26:08
Martin
Hi,
ich habe eine Summenbildung mit VBA, welche aber nur ein Fenster mit
dem Ergebnis anzeigt.
Wie kann man mit VBA Werte A10:A50 zusammenzählen und
anschließend 2 zeilen unter dem letzten Wert, das wäre A50, dass Ergebnis
einfügen lassen. In der Zelle B1 (variable) ist der Rabatt eingegeben.
Wird die Schaltfläche gedrückt, soll A10:A50 addiert und der Rabatt
Zelle B1 abgezogen werden.
Kann mir bitte jemand weiterhelfen.
Danke
Gruß Martin

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Summenbildung per VBA
12.02.2005 22:29:01
Josef
Hallo Martin!
Warum mit VBA und nicht einfach einer Formel in "A52" ?

Range("A52") = Application.Sum(Range("A10:A50")) - Range("B1")

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
AW: Summenbildung per VBA
12.02.2005 22:39:59
Martin
Hallo Sepp,
ich habe eine Exceltabelle bei welcher Daten vom Blatt 1 in das Blatt 2 kopiert werden.
Da die Zeilenanzahl ständig variiert, würde mir bei jedem kopieren die Zelle überschrieben.
Deshalb wäre gut, wenn ich eine Summenbildung mit VBA erzwingen könnte und wie bereits
beschrieben in der 2. Zeile unter dem letzten Wert eingefügt würde.
Danke
Gruß Martin
Anzeige
AW: Summenbildung -Variante?
Jens_Pu
Hallo Martin,
nur so als Denkanstoß, deswegen auch noch offen.
Schon mal dran gedacht, die Summenzeile oben zu machen?
Ich mache das teilweise sehr gerne, dass Die Summen über den Spalenbeschriftungen stehen.
Hat den Vorteil, die Formeln sind fest und ich kann unten anfügen, löschen einfügen wie ich will. zusätzlich habe ich immer auch eine Bezeichnung der Summe durch die darunterliegende Spaltenbeschriftung.
Gruß Jens
AW: Summenbildung per VBA
12.02.2005 22:51:35
Josef
Hallo Martin!
Dann zB. so.

Sub summeDynamisch()
Dim lastRow As Long
On Error GoTo ERRORHANDLER
lastRow = IIf(Range("A65536") <> "", 65536, Range("A65536").End(xlUp).Row)
If lastRow < 10 Then lastRow = 10
Cells(lastRow + 2, 1) = _
Application.Sum(Range(Cells(10, 1), Cells(lastRow, 1))) - Range("B1")
Exit Sub
ERRORHANDLER:
Cells(lastRow + 2, 1) = "#WERT"
End Sub

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: Summenbildung per VBA
12.02.2005 23:17:53
Martin
Hallo Sepp,
genau. Das ist es.
Nur habe ich in B1 Prozentwerte drinnen stehen. Hab es ausprobiert.
Der errechnte Wert stimmt nicht. Bsp. 60 + 10 - B1 (10%) = 60
Eigentlich müßten es 63 sein.
Danke
Gruß Martin
AW: Summenbildung per VBA
12.02.2005 23:24:20
Josef
Hallo Martin!
Prozentrechnen ist schon schwer ;-)
Dann halt so!

Sub summeDynamisch()
Dim lastRow As Long
On Error GoTo ERRORHANDLER
lastRow = IIf(Range("A65536") <> "", 65536, Range("A65536").End(xlUp).Row)
If lastRow < 10 Then lastRow = 10
Cells(lastRow + 2, 1) = _
Application.Sum(Range(Cells(10, 1), Cells(lastRow, 1))) - _
Application.Sum(Range(Cells(10, 1), Cells(lastRow, 1))) * Range("B1")
Exit Sub
ERRORHANDLER:
Cells(lastRow + 2, 1) = "#WERT"
End Sub

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: Summenbildung per VBA
Kay
Hallo Martin,
wenn ich das richtig sehe bezieht sich das auf den Code weiter unten, dort wo ich auch schon mal geantwortet habe.
Da könnte mann es mit einbauen.
Sorry Josef das ich mich einmische.
so z.B.

Sub SuchenUndKopieren()
Dim wksQ As Worksheet   'Quell-Tabelle
Dim wksZ As Worksheet   'Ziel-Tabelle
Dim rng As Range
Dim lngQ As Long
Dim lngz As Long
Set wksQ = Sheets("Quelle")
Set wksZ = Sheets("Ziel")
wksZ.Range("A2:E65536").Clear
lngQ = wksQ.Range("E65536").End(xlUp).Row
lngz = wksZ.Range("A65536").End(xlUp).Row + 1
For Each rng In wksQ.Range(wksQ.Cells(1, 5), wksQ.Cells(lngQ, 5))
If rng.Value > 0 Then
rng.EntireRow.Copy wksZ.Cells(lngz, 1)
lngz = lngz + 1
End If
Next
wksZ.Cells(lngz + 2, 5) = Application.Sum(Range(wksZ.Cells(1, 5), wksZ.Cells(lngz, 5)))-Range("B1")
End Sub

Gruß
Kay
Anzeige
AW: Summenbildung per VBA
13.02.2005 00:44:56
Martin
Hallo Kay, Hallo Sepp,
danke, beides funktioniert perfekt.
Gruß Markus

54 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige