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

Forumthread: Summe bilden in VBA

Summe bilden in VBA
26.04.2005 18:54:19
Harry
Hallo EXEL-Forum,
Ich komme leider nicht weiter.
Ich möchte eine Summe bilden z.B. Spalte 1 bis 60 oder 61 bis 120 usw.
Leider wird die Zeile über eine Combobox ausgewählt.
Soweit bin ich bis jetzt:
Cells(zeile, 195) = "=SUM(a1:bh1)"
jetzt müßte nur noch "(a1:bh1)" in
Range(cells(zeile,1), cells(zeile ,60))umbenannt werden.
Geht aber irgenwie nicht.
Wer kann mir weiterhelfen ?
Harry
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Summe bilden in VBA
26.04.2005 19:05:19
Kurt
Hallo,
probier mal:
Cells(zeile, 195) = WorksheetFunction.Sum(Range(Cells(zeile, 1), Cells(zeile, 60)))
...und Tschüss Kurt
AW: Summe bilden in VBA
26.04.2005 19:07:36
Klaus-Dieter
Hallo Harry,
so geht es:
Option Explicit

Sub Summe()
Dim Zeile
Cells(Zeile, 195) = Application.Sum(Range(Cells(Zeile, 1), Cells(Zeile, 60)))
End Sub

Gruß Klaus-Dieter

Anzeige
AW: Summe bilden in VBA
26.04.2005 19:39:47
Harry
Danke an alle, es klappt super !!
Tschau Harry
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Summe bilden in VBA


Schritt-für-Schritt-Anleitung

Um eine Summe in VBA zu bilden, kannst du die folgende Schritt-für-Schritt-Anleitung nutzen. Wir verwenden den Application.Sum Befehl, um die Summe einer bestimmten Spalte zu berechnen.

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Rechtsklicke im Projekt-Explorer auf „VBAProject (DeineDatei.xlsx)“ und wähle Einfügen > Modul.

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

    Sub Summe()
       Dim Zeile As Integer
       Zeile = 1 ' Hier kannst du die gewünschte Zeile setzen
       Cells(Zeile, 195) = Application.Sum(Range(Cells(Zeile, 1), Cells(Zeile, 60)))
    End Sub
  4. Führe das Makro aus: Schließe den Editor und kehre zu Excel zurück. Drücke ALT + F8, wähle „Summe“ aus und klicke auf „Ausführen“.

Mit diesem Code wird die Summe der Zellen von A1 bis BH1 für die angegebene Zeile berechnet und in die Zelle in der 195. Spalte geschrieben.


Häufige Fehler und Lösungen

  • Fehler: „Variable nicht definiert“

    • Lösung: Stelle sicher, dass du Option Explicit am Anfang deines Moduls hinzugefügt hast, um alle Variablen zu deklarieren.
  • Fehler: „Typen nicht kompatibel“

    • Lösung: Überprüfe, ob die Variable Zeile korrekt deklariert ist und einen gültigen Wert hat.
  • Fehler: „Anwendungsfehler“

    • Lösung: Stelle sicher, dass der Bereich in Range(Cells(Zeile, 1), Cells(Zeile, 60)) korrekt gesetzt ist und keine leeren Zellen enthält.

Alternative Methoden

Neben der Verwendung von Application.Sum gibt es auch andere Methoden, um eine Summe in VBA zu berechnen:

  • WorksheetFunction.Sum: Diese Methode kann ebenfalls verwendet werden:

    Cells(Zeile, 195) = WorksheetFunction.Sum(Range(Cells(Zeile, 1), Cells(Zeile, 60)))
  • Direktes Setzen einer Formel: Du kannst die Summe auch direkt in eine Zelle als Formel einfügen:

    Cells(Zeile, 195).Formula = "=SUM(A" & Zeile & ":BH" & Zeile & ")"

Praktische Beispiele

  1. Summe einer bestimmten Zeile: Wenn du die Summe für die erste Zeile berechnen möchtest:

    Sub Summe()
       Cells(1, 195) = Application.Sum(Range(Cells(1, 1), Cells(1, 60)))
    End Sub
  2. Summe über eine variable Zeile: Wenn die Zeile über eine ComboBox ausgewählt wird:

    Sub Summe()
       Dim Zeile As Integer
       Zeile = ComboBox1.Value ' Die Zeile wird aus der ComboBox gelesen
       Cells(Zeile, 195) = Application.Sum(Range(Cells(Zeile, 1), Cells(Zeile, 60)))
    End Sub

Tipps für Profis

  • Verwende Long statt Integer für große Zeilen: Wenn du mit großen Datenmengen arbeitest, ist es besser, die Zeilenvariable als Long zu deklarieren.

  • Fehlerbehandlung: Implementiere Fehlerbehandlung, um unerwartete Fehler abzufangen:

    On Error Resume Next
    Cells(Zeile, 195) = Application.Sum(Range(Cells(Zeile, 1), Cells(Zeile, 60)))
    If Err.Number <> 0 Then
      MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
    End If
    On Error GoTo 0

FAQ: Häufige Fragen

1. Wie kann ich die Summe über mehrere Zeilen bilden?
Du kannst eine Schleife verwenden, um die Summe für mehrere Zeilen zu berechnen:

Sub SummeMehrereZeilen()
    Dim Zeile As Integer
    For Zeile = 1 To 10
        Cells(Zeile, 195) = Application.Sum(Range(Cells(Zeile, 1), Cells(Zeile, 60)))
    Next Zeile
End Sub

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, dieser VBA-Code sollte in allen modernen Excel-Versionen funktionieren, die die VBA-Schnittstelle unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige