VBA: Zwei Spalten mit Wert multiplizieren und dann addieren mit Hilfe von Makros

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Das Multiplizieren und danach Summieren geht doch gaaaanz einfach ohne Formel im Blatt nur mit Code:

For I = 15 To LetzteZeile 'I ergibt die Zeile im Blatt
    Cells(I, 2) = Cells(I, 2) * TextBox1 'Multipliziert Zelle in B (...,2) mit Textbox 1
    Cells(I, 3) = Cells(I, 3) * TextBox2 ' dito C (...,3) mit Textbox 2
    Cells(I, 4) = Cells(I, 2) + Cells(I, 3) 'und nun die Summe bilden und in D eintragen
Next I

Musst Du jetzt nur noch einbauen. Und nicht vergessen: Dim I as Long

Versuche mal folgende Formel. Vielleicht kannst du sie dir nach deinen Vorstellungen noch umbauen:

  Range("D1:D" & lngLetzteZeile).Value = _
"=A1 * " & Last1 & " + B1 * " & Last2

anstelle von

....FormulaR1C1 = "=RC[-2]*Last1+RC[-1]*Last2"

Suboptimierer  07.05.2014, 16:46

In deiner Schreibweise wäre korrekt:

.FormulaR1C1 = "=RC[-3]*" & Last1 & "+RC[-2]*" & Last2

Du musst die Variablen aus der Zeichenkette ziehen.

Desweiteren ergibt so etwas wenig Sinn:

.Value = .Value

wieso arbeitest du auf einmal mit fomula Local?

bleib doch bei einer schleife. Warum erst eine Formel in eine Zelle schreiben wenn du sowieso nur den Wert haben willst.

cells(i,4) = cells(i,2)*Last1 + cells(i,3)*Last2