ich habe eine Addition bisher über eine Formel realisiert. Geht dieses auch über vba?
=SUMME('Tabelle1'!B2B65000)
Diese Summe steht in einer anderen Tabelle, Tabelle 3 oder 4.
Würd mich freuen, wenn jemand Helfen kann.
Gruß
Uwe
Öffne den VBA-Editor: Drücke ALT + F11
in Excel.
Einfügen eines Moduls: Klicke auf Einfügen
> Modul
.
Code einfügen: Verwende den folgenden Code, um die Summe einer bestimmten Zelle in einem anderen Blatt zu berechnen:
Sub SummeBerechnen()
Dim summeWert As Double
summeWert = Application.WorksheetFunction.Sum(Sheets("Tabelle1").Range("B2:B65000"))
Sheets("Tabelle3").Cells(21, 3).Value = summeWert
End Sub
Ausführen des Codes: Führe das Makro aus, um die Summe zu berechnen und in die gewünschte Zelle zu schreiben.
Fehlermeldung "Typen unverträglich": Achte darauf, dass die Zelle, in die du den Wert schreiben möchtest, korrekt referenziert ist. Beispielsweise kann ein Fehler auftreten, wenn du Cells("C21")
anstelle von Cells(21, 3)
verwendest.
Summe wird nicht aktualisiert: Stelle sicher, dass das Blatt mit den Daten aktiv ist, wenn du den VBA-Code ausführst, oder verwende die vollständige Referenz wie Sheets("Tabelle1").Range(...)
.
Eine alternative Methode zur Berechnung der Summe in VBA ist die Verwendung einer Array-Variable, um die Daten zwischenzuspeichern:
Sub SummeMitArray()
Dim werteArray As Variant
Dim summeWert As Double
werteArray = Sheets("Tabelle1").Range("B2:B65000").Value
summeWert = 0
For i = LBound(werteArray) To UBound(werteArray)
summeWert = summeWert + werteArray(i, 1)
Next i
Sheets("Tabelle3").Cells(21, 3).Value = summeWert
End Sub
Um die Summe einer bestimmten Spalte zu berechnen, kannst du den folgenden Code verwenden:
Sub SummeEinerSpalte()
Dim summeWert As Double
summeWert = Application.WorksheetFunction.Sum(Sheets("Tabelle1").Columns("B"))
Sheets("Tabelle4").Range("A1").Value = summeWert
End Sub
In diesem Beispiel wird die gesamte Spalte B summiert und das Ergebnis in A1 von Tabelle 4 geschrieben.
Fehlerbehandlung: Implementiere Fehlerbehandlung in deinem VBA-Code, um mögliche Laufzeitfehler abzufangen. Beispiel:
On Error Resume Next
summeWert = Application.WorksheetFunction.Sum(Sheets("Tabelle1").Range("B2:B65000"))
If Err.Number <> 0 Then
MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
End If
Verwendung von Excel.Vba
: Nutze die VBA Application.Sum
-Methode für eine schnellere und effizientere Berechnung, besonders bei großen Datenmengen.
1. Wie kann ich die Summe einer nicht zusammenhängenden Zelle berechnen?
Du kannst Union
verwenden, um nicht zusammenhängende Zellen zu summieren. Beispiel:
Dim rng As Range
Set rng = Union(Sheets("Tabelle1").Range("B2"), Sheets("Tabelle1").Range("B10"))
summeWert = Application.WorksheetFunction.Sum(rng)
2. Kann ich die Summe in eine andere Arbeitsmappe schreiben?
Ja, du kannst die Summe in eine andere Arbeitsmappe schreiben, indem du die vollständige Referenz der Arbeitsmappe angibst, z.B. Workbooks("AndereMappe.xlsx").Sheets("Tabelle1").Cells(1, 1).Value
.
3. Wie kann ich die Summe nach Kriterien berechnen?
Verwende die SUMIF
-Funktion in VBA, um die Summe nach bestimmten Kriterien zu berechnen:
summeWert = Application.WorksheetFunction.SumIf(Sheets("Tabelle1").Range("A2:A65000"), "Kriterium", Sheets("Tabelle1").Range("B2:B65000"))
Diese Antworten sollten dir helfen, effizienter mit VBA zu arbeiten und die Summe in Excel zu berechnen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen