Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Summenberechnung per VBA

Forumthread: Summenberechnung per VBA

Summenberechnung per VBA
14.06.2021 10:29:54
Peter
Hallo,
ich habe ein Problem mit der Berechnung von Summen. Mit den nachstehenden Codes erstelle ich Berechnungen:

Dim ASaldo_vor_gew_ADatum As String
ASaldo_vor_gew_ADatum = Format(Tb.AutoFilter.Range.Columns(1).Offset(1).SpecialCells(12).Cells(1 - 1).Offset(0, 6), "#,##0.00 €")
Debug.Print ASaldo_vor_gew_ADatum
Dim SummeSpalteFgefiltert As String     'benötigt für Berechnung der gefilterten Wert SpalteF
SummeSpalteFgefiltert = Format(Application.WorksheetFunction.Subtotal(9, Tb.Range("F10:F" & loLetzteB)), "#,##0.00 €")
Debug.Print SummeSpalteFgefiltert
Dim SummeSpalteGgefiltert As String     'benötigt für Berechnung der gefilterten Wert SpalteB
SummeSpalteGgefiltert = Format(Application.WorksheetFunction.Subtotal(9, Tb.Range("G10:G" & loLetzteB)), "#,##0.00 €")
Debug.Print SummeSpalteGgefiltert

Die ersten 3 Zeilen habe ich für die Ermittlung eines Saldobetrags.
Die zweiten 3 Zeilen ermitteln die Summe der SpalteF.
Die dritten 3 Zeilen ermitteln die Summe der SpalteG.
Wie kann ich bitte die Summe der drei Werte erreichen?
Gruss
Peter
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Summenberechnung per VBA
14.06.2021 12:51:18
Rudi
Hallo,

Wie kann ich bitte die Summe der drei Werte erreichen?
indem du erst mal Zahlen ermittelst und diese addierst. Formatieren kann man immer noch.

Sub aaa()
Dim ASaldo_vor_gew_ADatum As Double
Dim SummeSpalteFgefiltert As Double     'benötigt für Berechnung der gefilterten Wert SpalteF
Dim SummeSpalteGgefiltert As Double     'benötigt für Berechnung der gefilterten Wert SpalteB
ASaldo_vor_gew_ADatum = Tb.AutoFilter.Range.Columns(1).Offset(1).SpecialCells(12).Cells(1 - 1).Offset(0, 6)
Debug.Print Format(ASaldo_vor_gew_ADatum, "#,##0.00 €")
SummeSpalteFgefiltert = Application.WorksheetFunction.Subtotal(9, Tb.Range("F10:F" & loLetzteB))
Debug.Print Format(SummeSpalteFgefiltert, "#,##0.00 €")
SummeSpalteGgefiltert = Application.WorksheetFunction.Subtotal(9, Tb.Range("G10:G" & loLetzteB))
Debug.Print Format(SummeSpalteGgefiltert, "#,##0.00 €")
MsgBox ASaldo_vor_gew_ADatum + SummeSpalteFgefiltert + SummeSpalteGgefiltert
End Sub
Gruß
Rudi
Anzeige
AW: falsches Ergebnis
15.06.2021 06:32:40
Peter
Guten Morgen Rudi,
leider wird das Ergebnis nicht gerechnet sondern nebeneinander aufgezeigt.
Gruss
Peter
AW: falsches Ergebnis
17.06.2021 19:09:06
Yal
Hallo Peter,

Sub aaa()
Dim ASaldo_vor_gew_ADatum As Double
Dim SummeSpalteFgefiltert As Double     'benötigt für Berechnung der gefilterten Wert SpalteF
Dim SummeSpalteGgefiltert As Double     'benötigt für Berechnung der gefilterten Wert SpalteB
Dim Summe As Double
ASaldo_vor_gew_ADatum = Tb.AutoFilter.Range.Columns(1).Offset(1).SpecialCells(12).Cells(1 - 1).Offset(0, 6)
SummeSpalteFgefiltert = Application.WorksheetFunction.Subtotal(9, Tb.Range("F10:F" & loLetzteB))
SummeSpalteGgefiltert = Application.WorksheetFunction.Subtotal(9, Tb.Range("G10:G" & loLetzteB))
Summe = ASaldo_vor_gew_ADatum + SummeSpalteFgefiltert + SummeSpalteGgefiltert
Debug.Print Format(ASaldo_vor_gew_ADatum, "#,##0.00 €")
Debug.Print Format(SummeSpalteFgefiltert, "#,##0.00 €")
Debug.Print Format(SummeSpalteGgefiltert, "#,##0.00 €")
Debug.Print "Summe: " & Format(Summe, "#,##0.00 €")
End Sub
Du wirst notiert haben, dass es exakt dieselbe Code wie Rudi, nur dass ich einen Debug.Print ansatt MsgBox verwende.
VG Yal
Anzeige
AW: Lösung gefunden
18.06.2021 06:32:46
Peter
Guten Morgen,
besten Dank für eure Hilfe. Die Lösung ist jetzt gefunden.
Gruss
Peter
;

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