Nr. suchen und zugehörigen Wert summieren mit VBA
Schritt-für-Schritt-Anleitung
-
Öffne Excel und lade die Arbeitsmappe, in der Du die Nummer suchen möchtest.
-
Drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu: Klicke im Menü auf Einfügen und wähle Modul.
-
Kopiere den folgenden VBA-Code in das Modul:
Sub Summe()
Dim sh As Worksheet
Dim rngFind As Range
Dim strSuchen As String
Dim sngSum As Single
strSuchen = InputBox("Nummer?")
If strSuchen = "" Then Exit Sub
For Each sh In Worksheets
Set rngFind = sh.Cells.Find(strSuchen, Cells(1, 1))
If Not rngFind Is Nothing Then
If IsNumeric(rngFind.Offset(0, 1).Value) Then
sngSum = sngSum + rngFind.Offset(0, 1).Value
End If
End If
Next sh
MsgBox sngSum
End Sub
-
Schließe den VBA-Editor und gehe zurück zu Excel.
-
Führe das Makro aus: Drücke ALT + F8, wähle Summe und klicke auf Ausführen.
-
Gib die gewünschte Nummer ein, und das Makro wird die zugehörigen Werte summieren und das Ergebnis in einer MessageBox anzeigen.
Häufige Fehler und Lösungen
-
Fehler 13: Typen unverträglich: Dieser Fehler tritt auf, wenn Du versuchst, Zahlen und Texte zu addieren. Stelle sicher, dass die Zelle rechts von der gefundenen Nummer tatsächlich eine Zahl enthält. Der modifizierte Code von WernerB. prüft dies mit IsNumeric.
-
Nummer nicht gefunden: Wenn das gesuchte Element nicht in einem der Blätter vorhanden ist, wird 0 als Summe angezeigt. Achte darauf, dass die Suchnummer korrekt eingegeben wurde.
Alternative Methoden
Eine Alternative zur Verwendung von VBA ist die Verwendung von Excel-Formeln. Wenn Du in einem einzelnen Arbeitsblatt nach einer Nummer suchen und deren zugehörigen Wert summieren möchtest, kannst Du die SUMMEWENN-Funktion verwenden:
=SUMMEWENN(A:A, "Suchnummer", B:B)
Hierbei ist A:A der Bereich, in dem Du nach der Nummer suchst, und B:B der Bereich, aus dem die Werte summiert werden.
Praktische Beispiele
Angenommen, Du hast in verschiedenen Arbeitsblättern die folgende Struktur:
Wenn Du die Nummer 2 suchst, wird das Makro die Zahl 20 summieren, auch wenn in einer anderen Zelle kein Wert vorhanden ist.
Tipps für Profis
- Erweiterung des Codes: Du kannst den Code erweitern, um mehrere Suchbedingungen oder Bereiche zu berücksichtigen.
- Fehlermeldungen: Implementiere eigene Fehlermeldungen, um den Benutzer über das Ergebnis der Suche zu informieren.
- Verwendung von
VLOOKUP: Wenn Du eine ähnliche Funktionalität mit VLOOKUP benötigst, kannst Du auch die Formel =VLOOKUP(Suchnummer, Tabelle, Spalte, FALSE) verwenden, um den entsprechenden Wert zu finden.
FAQ: Häufige Fragen
1. Wie kann ich den Code anpassen, um mehrere Werte zu summieren?
Du kannst eine Schleife verwenden, um mehrere Suchnummern zu verarbeiten oder ein Array für die Suchnummern zu definieren.
2. Funktioniert dieser Code in Excel 365?
Ja, der VBA-Code funktioniert in Excel 365 sowie in älteren Versionen von Excel, die VBA unterstützen. Achte darauf, die Makros in den Excel-Einstellungen zu aktivieren.