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

3 Antworten

Vom Fragesteller 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
0

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