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

Forumthread: VBA - mehrere Zellen multiplizieren und addieren

VBA - mehrere Zellen multiplizieren und addieren
09.11.2016 09:55:46
Nik
Guten Morgen zusammen,
ich hoffe Ihr könnt mir helfen ... folgendes Problem:
Ich habe eine Tabelle wo in die Zelle "H5" folgende Formel rein soll
=($I$4*I5)+($J$4*J5)+ ... +($CX$4*CX5)    usw.
Problem:
Momentan sind es knapp 90 Spalten die auf diese Weise summiert werden, jedoch kommen immer mal welche hinzu. Das variiert also stark.
Frage:
Wie kann ich das ganze per VBA lösen? Das Makro müsste erstmal prüfen wie viele Spalten ab Spalte i vorhanden sind und dementsprechend obige Formel auf die jeweilige Spaltenzahl anpassen.
Es langt erstmal wenn das nur für die Zelle "H5" ausgerechnet wird. Ich kann dann entsprechend die Formel nach unten ziehen, falls mehr Datenreihen vorhanden sind und das nötig machen.
https://www.herber.de/bbs/user/109294.xls
Vielen Dank im Voraus für euren Input und Hilfe.
Gruß
Nik
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA - mehrere Zellen multiplizieren und addieren
09.11.2016 10:10:41
EtoPHG
Hallo Nik,
Vielleicht mit der einfachen Formel:
=SUMMENPRODUKT(I$4:$IV$4;I5:$IV5)

wieso du da versuchst mit VBA rumzubasteln, ist mir nicht klar.
Zuerst solltest du dich mit Excel Standardformeln vertraut machen!
Gruess Hansueli
AW: VBA - mehrere Zellen multiplizieren und addieren
09.11.2016 10:21:23
Nik
Hallo Hansueli,
in der Tat, das sollte ich.
Mir war nicht bewusst, dass es mit SUMMENPRODUKT funktioniert, auch für den Fall, dass im ARRAY ein Text steht.
Deshalb war mein erster Gedanke das auf die tatsächliche Spaltenanzahl auszurechnen und zu begrenzen.
Funktioniert jedenfalls tadellos.
Danke für dieses Augenöffner! :-)
Anzeige
AW: VBA - mehrere Zellen multiplizieren und addieren
09.11.2016 10:25:42
baschti007
Hey Ho oder so mit Vba
GRuß Basti
Sub Rechnen()
With Worksheets("Obsolete Raw Material_")
LastCell = .Cells(.Rows.Count, 1).End(xlUp).Row
FirstCell = 5
LastColumn = .Cells(4, .Columns.Count).End(xlToLeft).Column
FirstColumn = 9
.Range(.Cells(FirstCell, 8), .Cells(LastCell, 8)).ClearContents
For r = FirstCell To LastCell
For c = FirstColumn To LastColumn
.Cells(r, 8) = .Cells(r, 8) + (.Cells(r, c) * .Cells(4, c))
Next
Next
End With
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Mehrere Zellen multiplizieren und addieren in Excel


Schritt-für-Schritt-Anleitung

Um mehrere Zellen in Excel zu multiplizieren und die Ergebnisse zu addieren, kannst du sowohl die Excel-Formel als auch VBA verwenden. Hier sind die Schritte mit einer Standardformel und einem VBA-Ansatz:

Mit der Excel-Formel:

  1. Wähle die Zelle aus, in der das Ergebnis angezeigt werden soll (z. B. H5).
  2. Gib die folgende Formel ein:
    =SUMMENPRODUKT(I$4:$IV$4; I5:$IV5)

    Diese Formel multipliziert alle Zellen in der Reihe 4 (von I bis IV) mit den entsprechenden Zellen in der Reihe 5 und addiert die Ergebnisse.

Mit VBA:

  1. Öffne den VBA-Editor (ALT + F11).
  2. Füge ein neues Modul hinzu.
  3. Kopiere den folgenden VBA-Code:
    Sub Rechnen()
       With Worksheets("Obsolete Raw Material_")
           LastCell = .Cells(.Rows.Count, 1).End(xlUp).Row
           FirstCell = 5
           LastColumn = .Cells(4, .Columns.Count).End(xlToLeft).Column
           FirstColumn = 9
           .Range(.Cells(FirstCell, 8), .Cells(LastCell, 8)).ClearContents
           For r = FirstCell To LastCell
               For c = FirstColumn To LastColumn
                   .Cells(r, 8) = .Cells(r, 8) + (.Cells(r, c) * .Cells(4, c))
               Next
           Next
       End With
    End Sub
  4. Führe das Makro aus. Es wird die Zelle H5 (und darunter) mit den addierten Werten aktualisiert.

Häufige Fehler und Lösungen

  • Fehler: #NAME?

    • Ursache: Die Funktion SUMMENPRODUKT ist möglicherweise nicht korrekt geschrieben. Überprüfe die Schreibweise.
  • Fehler: #WERT!

    • Ursache: Eine der Zellen im Array enthält Text oder nicht numerische Werte. Stelle sicher, dass alle Zellen gültige Zahlen enthalten.
  • Fehler bei der VBA-Ausführung:

    • Überprüfe, ob das Arbeitsblatt korrekt benannt ist. Der Name im VBA-Code muss exakt mit dem Arbeitsblattnamen übereinstimmen.

Alternative Methoden

  1. Verwendung von Array-Formeln:

    • Du kannst auch eine Array-Formel verwenden, um mehrere Zellen zu multiplizieren und zu addieren. Gib die Formel ein und drücke STRG + SHIFT + ENTER:
      =SUMME(I4:IV4 * I5:IV5)
  2. Verwendung von Pivot-Tabellen:

    • Wenn du große Datenmengen hast, kannst du mit Pivot-Tabellen arbeiten, um komplexe Berechnungen durchzuführen und die Ergebnisse zu aggregieren.

Praktische Beispiele

  • Beispiel 1: Multiplikation mit festen Zellen Angenommen, Zelle I4 enthält einen Multiplikator (z. B. 10), und du möchtest alle Zellen in der Reihe 5 mit 10 multiplizieren und addieren:

    =SUMME(I5:IV5) * $I$4
  • Beispiel 2: Mehrere Zellen mit einer Zahl multiplizieren Wenn du alle Zellen in B1:B10 mit 5 multiplizieren möchtest, könntest du dies so tun:

    =SUMME(B1:B10) * 5

Tipps für Profis

  • Verwende die Funktion SUMPRODUCT (SUMMENPRODUKT) anstelle von VBA, wenn du nur einfache Berechnungen durchführen möchtest. Sie ist effizienter und einfacher zu implementieren.
  • Bei der Verwendung von VBA kannst du den Code anpassen, um auch andere Berechnungen wie das Multiplizieren von Spalten oder Zeilen zu integrieren.
  • Achte darauf, dass die Zellen, die du multiplizieren möchtest, die gleichen Dimensionen haben, um Fehler zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich mehrere Zellen gleichzeitig multiplizieren? Ja, du kannst mehrere Zellen gleichzeitig multiplizieren, indem du die SUMMENPRODUKT-Funktion verwendest oder VBA dafür nutzt.

2. Wie kann ich eine feste Zelle in einer Multiplikation verwenden? Du kannst eine feste Zelle, wie z. B. $I$4, verwenden, um sicherzustellen, dass beim Kopieren der Formel die Zelle nicht verändert wird.

3. Funktioniert das auch in Excel Online? Ja, die beschriebenen Formeln und VBA-Skripte sollten auch in den meisten Versionen von Excel Online funktionieren, solange die grundlegenden Funktionen unterstützt werden.

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