Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1700to1704
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Schleife - Zwei Zellen multiplizieren

Schleife - Zwei Zellen multiplizieren
01.07.2019 17:07:55
Georg
Hallo,
ich würde gern zwei Zellen miteinander multiplizieren.
Jedoch erhalte ich den Laufzeitfehler '13': Typen unverträglich.
Mein Code ist folgender:
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
Cells(i, 5).FormulaLocal = Cells(i, 3).Value * Cells(i, 4).Value
Next

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
bei mir kommt kein Fehler ... owT
01.07.2019 17:18:18
Matthias
AW: Schleife - Zwei Zellen multiplizieren
01.07.2019 17:21:18
onur
Wieso .FormulaLocal?
Cells(i, 5).VALUE = Cells(i, 3).Value * Cells(i, 4).Value
AW: Schleife - Zwei Zellen multiplizieren
01.07.2019 17:25:34
Daniel
Hi
in welcher Zeile des Durchlaufs tritt denn der Fehler auf?
schon beim allerersten oder erst später?
welchen Wert hat dann dein i?
Welche Werte stehen in den betroffenen Zellen?
dass du Text nicht miteinander multiplizieren kannst, sollte klar sein.
steht bei dir in Zeile 1 vielleicht eine Überschrift?
solche Aufgaben kann man oft mit Formeln besser erledigen als mit schleifen:
With Range("E1:E" & Cells(Rows.count, 1).end(xlup).row)
.FormulaR1C1 = "=RC3*RC4"
.Formula = .Value
End with
Gruß Daniel
Anzeige
AW: Schleife - Zwei Zellen multiplizieren
01.07.2019 19:29:13
Georg
Hallo,
FormulaLocal, da Kommazahlen berechnet werden.
Ich packe euch mal eine Beispiel-Datei rein. Da sollte mein Problem deutlich werden.
https://www.herber.de/bbs/user/130680.xlsx
Wenn ich per Hand in der Zelle E4 "=(44,44-0)*C4" eintippe, wird der Wert richtig berechnet.
VG
AW: Schleife - Zwei Zellen multiplizieren
01.07.2019 19:43:08
onur
Cells(i, 3).Value * Cells(i, 4).Value ?
Spalte 3 enthält nur einen Faktor und Spalte 4 einen Text !
Wie kommst du auf ein Ergebnis von 44,44 ?
Ausserdem: Wo ist denn dein Makro?
AW: Schleife - Zwei Zellen multiplizieren
01.07.2019 19:53:55
Georg
Neuer Versuch:
https://www.herber.de/bbs/user/130681.xlsm
Die Ergebnisse aus in der Spalte E erhalte ich durch die erste Formel.
Die auskommentierte Formel beinhaltet den Faktor (die nicht funktioniert).
Anhand dessen, dass die erste Formel funktioniert, sieht man ja das Excel sich nichts draus macht, dass Spalte D Text ist. Oder?
Anzeige
AW: Schleife - Zwei Zellen multiplizieren
01.07.2019 20:25:12
onur
Ich habe zwar keine Ahnung, wozu du die Spalte 4 (Rechenweg) brauchst, aber wenn du unbedingt das Ergebnis mit Spale 3 multiplizieren willst, dann geht es so (allerdings ist dann die Formel weg):
Sub DA11()
'Variablen definieren
Dim i As Integer
For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
Cells(i, 5).FormulaLocal = "=" & Cells(i, 4).Value
Cells(i, 5) = Cells(i, 5) * Cells(i, 3)
Next
End Sub

Wenn du aber die Formel noch brauchst - so:
Sub DA11()
'Variablen definieren
Dim i As Integer
For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
Cells(i, 5).FormulaLocal = "=" & "C" & i & "*" & Cells(i, 4).Text
Next
End Sub

Anzeige
AW: Schleife - Zwei Zellen multiplizieren
01.07.2019 20:38:03
Daniel
Hi
naja was in Spalte D steht, ist jetzt keine Zahl, die du direkt in einer Berechnung verwenden kannst, sondern ein einfacher Text.
wenn du damit Rechnen willst, hast du zwei möglichkeiten:
a) du lässt dir den Text als Formel berechnen. Innerhalb von VBA gibts dafür die Funktion EVALUATE
allerdings benötgit die dann wieder das amerikansische Zahlenformat:
    Cells(i, 5).Value = Evaluate(Replace(Cells(i, 4).Value, ",", ".")) * Cells(i, 3).Value

b) du berechnest die Formeln nicht in VBA, sondern erstellst aus der Formel in D und der Zahl in C eine entsprechende Formel für die Excelzelle:
    Cells(i, 5).FormulaLocal = "=" & Cells(i, 4).Value & "*" & Cells(i, 3).Value

Gruß Daniel
Anzeige
AW: Schleife - Zwei Zellen multiplizieren
01.07.2019 20:38:04
Daniel
Hi
naja was in Spalte D steht, ist jetzt keine Zahl, die du direkt in einer Berechnung verwenden kannst, sondern ein einfacher Text.
wenn du damit Rechnen willst, hast du zwei möglichkeiten:
a) du lässt dir den Text als Formel berechnen. Innerhalb von VBA gibts dafür die Funktion EVALUATE
allerdings benötgit die dann wieder das amerikansische Zahlenformat:
    Cells(i, 5).Value = Evaluate(Replace(Cells(i, 4).Value, ",", ".")) * Cells(i, 3).Value

b) du berechnest die Formeln nicht in VBA, sondern erstellst aus der Formel in D und der Zahl in C eine entsprechende Formel für die Excelzelle:
    Cells(i, 5).FormulaLocal = "=" & Cells(i, 4).Value & "*" & Cells(i, 3).Value

Gruß Daniel
Anzeige
AW: Schleife - Zwei Zellen multiplizieren
01.07.2019 20:38:04
Daniel
Hi
naja was in Spalte D steht, ist jetzt keine Zahl, die du direkt in einer Berechnung verwenden kannst, sondern ein einfacher Text.
wenn du damit Rechnen willst, hast du zwei möglichkeiten:
a) du lässt dir den Text als Formel berechnen. Innerhalb von VBA gibts dafür die Funktion EVALUATE
allerdings benötgit die dann wieder das amerikansische Zahlenformat:
    Cells(i, 5).Value = Evaluate(Replace(Cells(i, 4).Value, ",", ".")) * Cells(i, 3).Value

b) du berechnest die Formeln nicht in VBA, sondern erstellst aus der Formel in D und der Zahl in C eine entsprechende Formel für die Excelzelle:
    Cells(i, 5).FormulaLocal = "=" & Cells(i, 4).Value & "*" & Cells(i, 3).Value

Gruß Daniel
Anzeige
AW: Schleife - Zwei Zellen multiplizieren
01.07.2019 20:38:05
Daniel
Hi
naja was in Spalte D steht, ist jetzt keine Zahl, die du direkt in einer Berechnung verwenden kannst, sondern ein einfacher Text.
wenn du damit Rechnen willst, hast du zwei möglichkeiten:
a) du lässt dir den Text als Formel berechnen. Innerhalb von VBA gibts dafür die Funktion EVALUATE
allerdings benötgit die dann wieder das amerikansische Zahlenformat:
    Cells(i, 5).Value = Evaluate(Replace(Cells(i, 4).Value, ",", ".")) * Cells(i, 3).Value

b) du berechnest die Formeln nicht in VBA, sondern erstellst aus der Formel in D und der Zahl in C eine entsprechende Formel für die Excelzelle:
    Cells(i, 5).FormulaLocal = "=" & Cells(i, 4).Value & "*" & Cells(i, 3).Value

Gruß Daniel
Anzeige
AW: Schleife - Zwei Zellen multiplizieren
01.07.2019 19:58:19
onur
NOCH EINMAL:
Du willst Spalte 3 mit Spalte 4 multiplizieren und das Ergebnis in Spalte 5 eintragen?
Spalte 3 enthält den Faktor und Spalte 4 einen Text!
Als Excel-Profi müsstest du wissen, dass man Text NICHT mit Zahlen (oder mit sonst was) MULTIPLIZIEREN kann.
AW: Schleife - Zwei Zellen multiplizieren
01.07.2019 22:50:53
Georg
Nabend,
der Trick bestand darin, dass ich für diverse Bereinigungen die Werte als Text ausgeben lasse und vor der Berechnung in Zahlen wandele.
Besten Dank für die Hilfe.

83 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige