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

Forumthread: jede zweite zelle addieren VBA

jede zweite zelle addieren VBA
27.01.2006 12:01:13
Henrik
Hallo alle miteinander,
habe mal wieder ein Problemchen.
Möchte in Zelle f6 jede zweite Zelle der gleichen reihe summieren. habe per recorder folgendes aufgezeichnet:
Range("f6").FormulaR1C1 = "=SUM(RC[2],RC[4],rc[6])"
Das funktioniert ja auch, allerdings müßte es für ca. 300 zellen in der Reihe funktionieren.
Es muß doch irgendwie einfacher gehen als jede zweite zelle bis 300 zu markieren?!
Danke schon mal.
Gruß Henrik
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: jede zweite zelle addieren VBA
ransi
hallo
versuchs mal so:
wenn deine daten in spalte a sind
Range("f6").FormulaLocal = "=SUMMENPRODUKT((REST(ZEILE(A1:A300);2)=0)*A1:A300)"
ransi
AW: jede zweite zelle addieren VBA
27.01.2006 12:21:57
Henrik
hallo ransi,
hab ich mich wohl falsch ausgedrückt.
Es geht nur um die Zeile(Row)6. In spalte(column)f,Zeile6 also range("f6") sollen ab range("f8") alle werte in der gleichen Zeile(6) in zweier Schritten addiert werden.
Also: f6 = f8 + f10 + f12 + ... + f300
Hoffe ist verständlich.
danke Dir erstmal.
Henrik
Anzeige
AW: jede zweite zelle addieren VBA
ransi
Hallo henrik
dann so:
Range("f6").FormulaLocal = "=SUMMENPRODUKT((REST(ZEILE(F8:F300);2)=0)*F8:F300)"
ransi
OHOH
27.01.2006 12:50:17
Henrik
hallo ransi,
danke dir wieder. Werde gerade ganz rot! Hab mich wieder falsch ausgedrückt!
formel sollte lauten: f6 = H6 + J6 + L6 + ... + DZ6
Also in der Zeile zählen nicht die Spalte.
Entschuldige vielmals. Habe schon versucht deine Formel auf die Zeile zu beziehen. Bin aber gescheitert. Falls Dir hierzu auch eine Lösung einfällt, wäre ich dir dankbar.
Die Formel von Chris funktioniert einwandfrei. Wäre aber trotzdem an deiner Formel interessiert (wenn du noch Lust hast?).
Gruß Henrik
Anzeige
kein problem
ransi
Hallo henrik
frag die spalte ab.
Range("f6").FormulaLocal = "=SUMMENPRODUKT((REST(spalte(h6:dz6);2)=0)*h6:dz6)"
ransi
AW: jede zweite zelle addieren VBA
27.01.2006 12:18:18
ChrisL
Hi Henrik
Folgender Code in ein Standardmodul:

Function SummeSpezial() As Currency
Dim iSpalte As Integer
For iSpalte = Application.Caller.Column + 2 To Cells(Application.Caller.Row, 256).End(xlToLeft).Column Step 2
SummeSpezial = SummeSpezial + Cells(Application.Caller.Row, iSpalte)
Next iSpalte
End Function

In Zelle F6 die Tabellenfunktion "=SUMMESPEZIAL()".
Gruss
Chris
Anzeige
Funktioniert
27.01.2006 12:32:39
Henrik
Danke Chris,
funktioniert nun genauso wie ich mir das vorgestellt habe.
gruß Henrik
AW: Funktioniert
27.01.2006 13:25:06
ChrisL
Danke für die Rückmeldung. Allerdings so:

Function SummeSpezial() As Currency
Dim iSpalte As Integer
Application.Volatile
For iSpalte = Application.Caller.Column + 2 To Cells(Application.Caller.Row, 256).End(xlToLeft).Column Step 2
SummeSpezial = SummeSpezial + Cells(Application.Caller.Row, iSpalte)
Next iSpalte
End Function

funktioniert es noch ein bischen besser :-)
Gruss
Chris
Anzeige
AW: jede zweite zelle addieren VBA
27.01.2006 13:23:47
ChrisL
Hi Henrik
Folgender Code in ein Standardmodul:

Function SummeSpezial() As Currency
Dim iSpalte As Integer
For iSpalte = Application.Caller.Column + 2 To Cells(Application.Caller.Row, 256).End(xlToLeft).Column Step 2
SummeSpezial = SummeSpezial + Cells(Application.Caller.Row, iSpalte)
Next iSpalte
End Function

In Zelle F6 die Tabellenfunktion "=SUMMESPEZIAL()".
Gruss
Chris
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Jede zweite Zelle in Excel addieren mit VBA


Schritt-für-Schritt-Anleitung

Um jede zweite Zelle in einer Zeile in Excel zu summieren, kannst Du verschiedene Methoden anwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung mit VBA:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke auf Einfügen und wähle Modul.
  3. Füge den folgenden Code ein:

    Function SummeSpezial() As Currency
       Dim iSpalte As Integer
       For iSpalte = Application.Caller.Column + 2 To Cells(Application.Caller.Row, 256).End(xlToLeft).Column Step 2
           SummeSpezial = SummeSpezial + Cells(Application.Caller.Row, iSpalte)
       Next iSpalte
    End Function
  4. Schließe den VBA-Editor:

    • Du kannst den Editor schließen, nachdem Du den Code eingefügt hast.
  5. Verwende die Funktion in Excel:

    • Gehe zurück zu Deinem Excel-Blatt und gib in Zelle F6 die Formel =SUMMESPEZIAL() ein.

Jetzt summiert die Funktion jede zweite Zelle in der Zeile 6, beginnend mit der dritten Zelle (H6, J6, L6, ...).


Häufige Fehler und Lösungen

  • Fehler: #NAME?

    • Lösung: Stelle sicher, dass Du die Funktion korrekt im VBA-Editor hinzugefügt hast.
  • Fehler: Falsche Werte werden summiert

    • Lösung: Überprüfe, ob die richtigen Zellen in der Funktion referenziert werden. Achte darauf, dass Du den Startpunkt korrekt festgelegt hast.
  • VBA funktioniert nicht

    • Lösung: Stelle sicher, dass Makros in Deinem Excel-Dokument aktiviert sind.

Alternative Methoden

Falls Du keine VBA-Funktionen nutzen möchtest, kannst Du auch die Formel =SUMMENPRODUKT((REST(ZEILE(H6:DZ6);2)=0)*H6:DZ6) verwenden. Diese Formel summiert alle Zellen in der Zeile 6, die in zweier Schritten liegen.

Du kannst auch die Funktion =SUMME() in Kombination mit =REST(ZEILE() 2)=0 verwenden, um gezielt jede zweite Zeile zu addieren, wenn Du die Daten anders organisierst.


Praktische Beispiele

  1. Summiere jede zweite Zelle in der Zeile 6:

    • Verwende die Formel =SUMMENPRODUKT((REST(ZEILE(H6:DZ6);2)=0)*H6:DZ6).
  2. Summiere jede zweite Spalte in einer bestimmten Zeile:

    • Wenn Du jede zweite Spalte summieren möchtest, nutze die Formel =SUMMENPRODUKT((REST(SPALTE(A1:Z1);2)=0)*A1:Z1).

Tipps für Profis

  • Nutze die Funktion Application.Volatile, um sicherzustellen, dass Deine benutzerdefinierte Funktion sich bei jeder Berechnung aktualisiert.
  • Wenn Du oft mit großen Datenmengen arbeitest, überlege, ob Du die Daten in Tabellenform organisierst. Dies erleichtert das Markieren und Summieren von Zellen erheblich.
  • Experimentiere mit bedingten Formatierungen, um jede x-te Zeile oder Spalte visuell hervorzuheben.

FAQ: Häufige Fragen

1. Wie kann ich jede zweite Zeile in Excel addieren?
Du kannst die Formel =SUMMENPRODUKT((REST(ZEILE(A1:A300);2)=0)*A1:A300) verwenden, um jede zweite Zeile zu addieren.

2. Funktioniert das auch in Excel 365?
Ja, die beschriebenen Methoden funktionieren in Excel 365 sowie in früheren Versionen von Excel.

3. Kann ich diese Funktion auch für andere Zeilen verwenden?
Ja, Du kannst die Zeilenreferenz in den Formeln anpassen, um die gewünschten Zeilen zu summieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige