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

Forumthread: Mit VBA Spalten bzw zellen addieren

Mit VBA Spalten bzw zellen addieren
13.02.2015 14:58:55
Mathias
Hallo,
ich will mit einem VBA Code werte in einer spalte addieren und dann nicht in die direkt darauf folgende Zelle ausgeben. Da ich aber keine zeit habe will ich nicht alle einzeln eingeben wie im folgenden beispiel.
Tabelle1.Cells(9,41)= Tabelle1.cells(9,16)+Tabelle1.cells(9,17)+..........+Tabelle1.cells(9,39).
Ich stelle mir da sowas vor die eine schleife die zählt bis zur letzen beschrieben zelle und dann aufhört die summe steht dann in besagter zelle Tabelle1.Cells(9,41).
Ich hab schon an vielen stellen gesucht aber nur sehr spezielle sachen gefunden die ich nicht auf meine bedürfnisse umwandeln konnte. So was einfachen macht wahrscheinlich jeder mit der summenfuntion direkt in excel.
Danke im voraus
Mathias

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit VBA Spalten bzw zellen addieren
13.02.2015 15:11:49
ransi
Hallo,
VBA kann auch mit Summenfunktion.
MAchs einfach so:
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Sub machs()
    Dim rngletzteZelle As Range
    With Tabelle1
        Set rngletzteZelle = .Cells(9, .Columns.Count).End(xlToLeft)
        rngletzteZelle.Offset(0, 1) = WorksheetFunction.Sum(.Range(.Cells(9, 16), rngletzteZelle))
    End With
End Sub


ransi

Anzeige
AW: Mit VBA Spalten bzw zellen addieren
16.02.2015 07:10:52
Mathias
Hallo ransi,
danke für die Antwort.
Irgendwas hab ich mir vorgestellt.
Ich werde das mal probieren.
Mathias

AW: Mit VBA Spalten bzw zellen addieren
16.02.2015 08:10:59
Mathias
Hallo nochmal
ich habe bemerkt das ich die frage nicht so ganz richtig gestellt habe.
ich habe bei den Koordinaten Zeile mit Spalte verwechselt.
Also nochmal.
In der Zelle(16,40) soll Summe der Werte angezeigt werden die in der Spalte 16 stehen. Der erste wert Steht in der Zelle (16,9) und mit jeden Durchgang der Schleife steht ein Wert mehr in der Spalte 16 bis maximal Zelle (16,39).
Als Formel würde in Zelle P40 stehen =Summe(P9:P39)
Grüße
Mathias

Anzeige
AW: Mit VBA Spalten bzw zellen addieren
16.02.2015 08:53:10
Mathias
Zeile mit spalte verwechselt
ich habe bemerkt das ich die frage nicht so ganz richtig gestellt habe.
ich habe bei den Koordinaten Zeile mit Spalte verwechselt.
Also nochmal.
In der Zelle(40,16) soll Summe der Werte angezeigt werden die in der Spalte 16 stehen. Der erste Wert Steht in der Zelle (9, 16) und mit jeden Durchgang der Schleife steht ein Wert mehr in der Spalte 16 bis maximal Zelle (39,16).
Als Formel würde in Zelle P40 stehen =Summe(P9:P39)
Grüße
Mathias

Anzeige
AW: Mit VBA Spalten bzw zellen addieren
16.02.2015 10:41:11
Mathias
Zeile mit spalte verwechselt
ich habe bemerkt das ich die frage nicht so ganz richtig gestellt habe.
ich habe bei den Koordinaten Zeile mit Spalte verwechselt.
Also nochmal.
In der Zelle(40,16) soll Summe der Werte angezeigt werden die in der Spalte 16 stehen. Der erste Wert Steht in der Zelle (9, 16) und mit jeden Durchgang der Schleife steht ein Wert mehr in der Spalte 16 bis maximal Zelle (39,16).
Als Formel würde in Zelle P40 stehen =Summe(P9:P39)
Grüße
Mathias

Anzeige
VBA-Schleife, Wert aufsummieren
16.02.2015 22:12:33
Frank
Hallo Mathias,
dann mach es doch genau so, wie Du es beschreibst: Eine Schleife, die einen Wert aufsummiert und den dann ausgibt.

Z1=0
for i=9 to 39
Z1=Z1+sheets(1).cells(i,16).value
next
Sheets(1).cells(40,16).value=Z1
Grüsse,
Frank

Anzeige
AW: VBA-Schleife, Wert aufsummieren
17.02.2015 13:36:33
Mathias
Hallo Frank,
danke für die Beschreibung + Code!
Mit der Beschreibung was ich will klappt das teilweise ganz gut aber mit der Ausführung magels Programmierkenntnisse eher schlecht.
Und es Funktioniert
Vielen dank
Mathias
;
Anzeige
Anzeige

Infobox / Tutorial

Mit VBA Spalten und Zellen addieren


Schritt-für-Schritt-Anleitung

Um mit VBA Zellen in Excel zu addieren, kannst du eine Schleife verwenden, die die Werte in der gewünschten Spalte aufsummiert. Hier ist eine einfache Anleitung, um dies zu erreichen:

  1. Öffne deine Excel-Datei und gehe in den VBA-Editor (drücke ALT + F11).

  2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject" > Einfügen > Modul).

  3. Kopiere und füge den folgenden Code in das Modul ein:

    Sub AddiereZellen()
       Dim Z1 As Double
       Dim i As Integer
       Z1 = 0
       For i = 9 To 39
           Z1 = Z1 + Sheets(1).Cells(i, 16).Value
       Next i
       Sheets(1).Cells(40, 16).Value = Z1
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus (drücke ALT + F8, wähle "AddiereZellen" und klicke auf "Ausführen").

Mit diesem Code wird die Summe der Werte in der Spalte 16 (von Zeile 9 bis Zeile 39) in die Zelle (40, 16) geschrieben.


Häufige Fehler und Lösungen

  • Fehler: Typen ungültig

    • Lösung: Stelle sicher, dass die Zellen, die du addieren möchtest, numerische Werte enthalten.
  • Fehler: Laufzeitfehler 9: Index außerhalb des gültigen Bereichs

    • Lösung: Überprüfe, ob das Arbeitsblatt, auf das du zugreifst, tatsächlich existiert. Es könnte sein, dass du auf ein nicht existentes Blatt zugreifst (z.B. Sheets(1)).

Alternative Methoden

Wenn du nicht mit einer Schleife arbeiten möchtest, kannst du auch die WorksheetFunction.Sum-Methode verwenden. Hier ist ein Beispiel:

Sub AddiereMitSumme()
    Dim rngLetzteZelle As Range
    With Sheets(1)
        Set rngLetzteZelle = .Cells(39, 16)
        .Cells(40, 16).Value = WorksheetFunction.Sum(.Range(.Cells(9, 16), rngLetzteZelle))
    End With
End Sub

Diese Methode nutzt die eingebaute SUMME-Funktion von Excel, um die Werte effizient zu addieren.


Praktische Beispiele

Nehmen wir an, du hast folgende Werte in den Zellen:

Zeile Spalte 16
9 5
10 10
11 15
... ...
39 20

Nach dem Ausführen des Makros wird in Zelle (40, 16) der Wert 50 stehen, was der Summe der Werte von Zeile 9 bis 39 entspricht.


Tipps für Profis

  • Nutze Option Explicit am Anfang deines VBA-Codes, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft dir, Fehler zu vermeiden und den Code leichter zu lesen.
  • Wenn du häufig mit VBA arbeitest, erstelle dir eine Sammlung nützlicher Makros, um deine Produktivität zu steigern.

FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um andere Spalten zu addieren? Du musst lediglich die Spaltennummer in Cells(i, 16) ändern. Zum Beispiel für Spalte 10 wäre es Cells(i, 10).

2. Was ist der Unterschied zwischen einer Schleife und der WorksheetFunction.Sum-Methode? Die Schleife bietet mehr Flexibilität und Kontrolle, während die Sum-Methode einfacher und schneller für einfache Summen ist. Wähle je nach Bedarf die geeignete Methode aus.

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