Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellen addieren mit VBA

Zellen addieren mit VBA
20.04.2006 13:55:08
Matthias
Hallo Forum,
ich möchte mit Hilfe einer VBA mehrere nebeneinander befindliche Zellen aufaddieren, wobei die Anzahl der Zellen variabel sein soll.
Ich möchte also z.B. die Zellen..

Worksheets(2).Cells(5, 5) bis Worksheets(2).Cells(5, variabel)

.. addieren.
Ich möchte es aber nicht folgendermaßen machen:

Worksheets(2).Cells(5, 4).Select
ActiveCell.FormulaR1C1 = "=sum(r[0]c[1]:r[0]c[20])"

Ich möchte also keine Zelle für das Ergebnis benutzen müssen und die Anzahl der zu addierenden Zellen soll variierbar sein.
Vielen Dank schon mal.
Gruß
Matthias
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen addieren mit VBA
20.04.2006 14:00:30
Matthias
Hallo Matthias

Sub test()
Dim a
Const ende = 10
With Sheets(2)
a = WorksheetFunction.Sum(.Range(.Cells(5, 5), Cells(5, ende)))
End With
MsgBox a
End Sub

Gruß Matthias
AW: Zellen addieren mit VBA - Korrektur
20.04.2006 15:08:24
Matthias
Hallo,
da fehlte noch ein Punkt:
a = WorksheetFunction.Sum(.Range(.Cells(5, 5), .Cells(5, ende)))
Gruß Matthias
Anzeige
AW: Zellen addieren mit VBA - Korrektur
20.04.2006 15:11:59
Matthias
Danke schön!
;
Anzeige
Anzeige

Infobox / Tutorial

Zellen addieren mit VBA


Schritt-für-Schritt-Anleitung

Um Zellen in Excel mit VBA zu addieren, ohne eine Zelle für das Ergebnis zu verwenden und die Anzahl der Zellen variabel zu gestalten, folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub ZellenAddieren()
       Dim a As Double
       Const ende As Integer = 10  ' Hier kannst du die Anzahl der Zellen variabel gestalten
       With Worksheets(2)
           a = WorksheetFunction.Sum(.Range(.Cells(5, 5), .Cells(5, ende)))
       End With
       MsgBox a  ' Zeigt das Ergebnis in einer Message Box an
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Drücke ALT + F8, wähle ZellenAddieren und klicke auf Ausführen, um das Skript zu starten.

Wenn du die Konstante ende änderst, kannst du die Anzahl der zu addierenden Zellen flexibel anpassen.


Häufige Fehler und Lösungen

  • Fehler: "Objektvariable oder With-Blockvariable nicht festgelegt"

    • Lösung: Stelle sicher, dass du die richtige Arbeitsblattnummer verwendest. In diesem Beispiel ist es Worksheets(2). Wenn dein Zielarbeitsblatt anders ist, passe die Nummer entsprechend an.
  • Fehler: "Typen unverträglich"

    • Lösung: Vergewissere dich, dass du die Variable a als Double deklariert hast. Wenn du mit anderen Datentypen arbeitest, kann dies zu Problemen führen.

Alternative Methoden

Eine alternative Methode zur Addition von Zellen in Excel ist die Verwendung von Formeln direkt in den Zellen. Du kannst die SUM-Funktion verwenden, um den gleichen Effekt zu erzielen, ohne VBA zu verwenden. Zum Beispiel:

=SUM(B5:B10)  ' Addiert die Zellen B5 bis B10

Diese Methode ist jedoch nicht so flexibel wie die VBA-Lösung, da sie nicht automatisch auf eine variable Anzahl von Zellen reagiert.


Praktische Beispiele

Wenn du zum Beispiel die Zellen von E5 bis E10 addieren möchtest, kannst du die Konstante ende auf 10 setzen:

Const ende As Integer = 10  ' Addiert die Zellen E5 bis E10

Wenn du nur E5 bis E7 addieren möchtest, ändere ende auf 7:

Const ende As Integer = 7  ' Addiert die Zellen E5 bis E7

Tipps für Profis

  • Verwende Option Explicit am Anfang deines VBA-Moduls, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden und macht den Code leichter nachvollziehbar.

  • Du kannst die Anzahl der Zellen auch dynamisch ermitteln, indem du die letzte gefüllte Zelle in einer Reihe findest. Zum Beispiel:

    ende = .Cells(5, .Columns.Count).End(xlToLeft).Column
  • Experimentiere mit MsgBox, um verschiedene Informationen auszugeben, wie z.B. die Summe oder die Anzahl der addierten Zellen.


FAQ: Häufige Fragen

1. Kann ich die Anzahl der Zellen zur Laufzeit ändern?
Ja, du kannst die Konstante ende im Code dynamisch setzen, indem du Eingaben vom Benutzer abfragst oder basierend auf anderen Kriterien im Arbeitsblatt festlegst.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der Code sollte in den meisten Excel-Versionen funktionieren, die VBA unterstützen, einschließlich Excel 2010 und neuer. Achte darauf, dass die VBA-Umgebung aktiviert ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige