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

Quotient berechnen mit VBA und in % ausgeben

Forumthread: Quotient berechnen mit VBA und in % ausgeben

Quotient berechnen mit VBA und in % ausgeben
24.01.2025 22:13:17
Christian
Hallo,

ich stehe vor einem kleinen sicherlich lösbaren Rätsel, aber ich finde den Fehler in meinem Code nicht.

T4=88
U4=236

Quotient 0,37288136

diesen möchte ich als Prozentzahl mit 3 Nachkommastellen ausgeben, also 37,288%.

allerdings gibt der Code
    wertT = ws1P.Cells(letzteZeile1P, 20).Value

wertU = ws1P.Cells(letzteZeile1P, 21).Value

quot = wertT / wertU

ws1P.Cells(letzteZeile1P, 22).Value = Format(quot, "0.000%")


nicht 37,288% aus, sondern 37288,000% wo ist mein Fehler? Klar ich kann den Quotienten durch 1000 Teilen, aber da hab ich das Gefühl, ich mache zuerst einen Fehler und ihn dann wieder rückgängig

Danke
Christian

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Quotient berechnen mit VBA und in % ausgeben
24.01.2025 22:30:23
Onur
DAS kann eigentlich nur passieren, wenn du auch noch die Zelle mit 0.000% benutzerdefiniert formatiert hast.
AW: Quotient berechnen mit VBA und in % ausgeben
25.01.2025 13:32:53
daniel
Hi

Probier's mal mit .FormulaLocal anstelle von .Value aus.

Deine Formatfunktion gibt dir den Wert als Text mit deutscher Schreibweise (bzw entsprechend deiner Ländereinstellung) aus, also dem Komma als Dezimalzeichen.

Wenn du allerdings eine Textzahl in die value-eigenschaft schreibst, dann wird Excel immer die amerikanischen Regeln anwenden, um den Text in eine Zahl zu wandeln, dh das Komma ist das Tausendertrennzeichen bzw wird einfach ignoriert. Schreibst du die Textzahl in .ForumlaLocal, gelten die Regeln des eingestellten Landes.

Für sinnvollere halte ich, die Zahl in die Zelle zu schreiben und dann dass Zahlenformat der Zellen anzupassen
ws1P.Cells(letzteZeile1P, 22).Value

ws1P.Cells(letzteZeile1P, 22).Numberformat = "0.000%"


Gruß Daniel
Anzeige
AW: Quotient berechnen mit VBA und in % ausgeben
25.01.2025 17:33:22
Christian
Hallo Daniel,

auch dir danke für deine Erklärungen. Habe es jetzt im Endeffekt so gelöst:

wertT = ws1P.Cells(letzteZeile1P, 20).Value

wertU = ws1P.Cells(letzteZeile1P, 21).Value

quot = wertT / wertU

With ws1P.Cells(letzteZeile1P, 22)
.Value = quot
.NumberFormatLocal = "0,000%"
End With


Schönes Wochenende noch
Christian
Anzeige
AW: Quotient berechnen mit VBA und in % ausgeben
24.01.2025 22:35:34
Christian
Das ist sogar wirklich der Fall, aber wie soll ich die Zelle dann formatieren?

Erstmal dank dir für die Hilfe, Onur

Gruß
Christian
AW: Quotient berechnen mit VBA und in % ausgeben
24.01.2025 22:46:12
Onur
Entweder die Zelle formatieren - dann kannst du auch mit der Zahl etwas weiterrechnen oder den Code zum formatieren benutzen, und evtl nix damit anfangen können, da du dann eigentlich nur einen Text hast.
Siehe MICROSOFT zum Thema FORMAT-Funktrion:
"Gibt einen Wert vom Typ Variant (String) zurück, der einen Ausdruck enthält, der laut den in einem Formatausdruck enthaltenen Anweisungen formatiert wird."
Anzeige
AW: Quotient berechnen mit VBA und in % ausgeben
24.01.2025 22:48:34
Onur
Also einfach NUR das:
ws1P.Cells(letzteZeile1P, 22).Value = quot
AW: Quotient berechnen mit VBA und in % ausgeben
24.01.2025 22:50:56
Onur
FORMAT in VBA macht nur Sinn, wenn du die Zahl als Prozent z.B. in einer Textbox oder MsgBox so anzeigen lassen willst.
AW: Quotient berechnen mit VBA und in % ausgeben
25.01.2025 09:54:28
Christian
Hallo Onur,

ok, danke für die Erklärung. Mit dieser Zeile funktoniert es.

Schönes Wochenende noch
Christian
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18