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

Forumthread: Makro mit Prozentwert

Makro mit Prozentwert
21.04.2020 11:40:15
Tim
Hallo zusammen,
ich habe ein Makro welches einzelne Zeilen durchläuft und von einem Wert, den dazugehörigen Prozentsatz abziehen soll.
Die Spalte in der der Wert steht ist im "Standard" (Spalte 6) und die Spalte in der der Prozentsatz (Spalte 8) steht in "Prozent" formatiert.
Mein Ziel ist es, diesen Wert im den Prozentsatz zu subtrahieren, jedoch sagt die Fehlermeldung "Typen unverträglich".
Sobald ich den Prozentwert in der Spalte als Zahl formatiere geht es.
Wie kann ich aber mit dem Prozentsatz arbeiten?
WsZ.Cells(ImportListe + 1, 14) = Format(CDbl(WsQ.Cells(i, 6)) * (1 - WsQ.Cells(i, 8) / 100), "0.00")
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro mit Prozentwert
21.04.2020 11:59:18
Daniel
Hi
Man müsste wissen, was wirklich in den Zellen steht.
Bei deinem Code ist schon die Kombination aus Format und CDBl fragwürdig.
CDBL wandelt einen Text in eine Zahl
FORMAT wandelt eine Zahl in einen Text
Dh in der Zelle steht ein Text, den du in eine Zahl und dann wieder in einen Text wandelt dann mit diesem Text zu rechnen?
Das ergibt für mich keinen Sinn.
Dann wäre die Frage, wie den Wert in Spalte 8 als % formatiert und was tatsächlich in der Zelle steht.
Zum Thema "als % formatieren" fallen mir 3 Möglichkeiten ein:
1. man fügt in der Zelle selbst das %Zeichen als Text hinzu
2. man formatiert die Zelle mit dem von Excel vorgegebenen Zahllenformat "Prozent"
3. man nutzt das benutzerdefinierte Zahlenformat und fügt hier das %-Zeichen in Anführungszeichen oder mit dem Backslash hinzu.
Welche Methode hast du verwendet und was steht in der Zelle, wenn man sie mit dem Zahlenformat Standard formatiert?
Gruß Daniel
Anzeige
AW: Makro mit Prozentwert
21.04.2020 13:44:01
Luschi
Hallo Tim,
das Format einer Zelle sagt noch nichts aus, wie Excel den Inhalt dieser Zelle bewertet. In Deinemm Beispiel sind die Werte in 'B2:B5 eindeutig Textwerte und keine Zahlen:
=ISTTEXT(B2) ergibt den Wert 'WAHR'
und
=ISTZAHL(B2) ergibt den Werhr 'FALSCH'
Diese Ungereimtheiten mußt Du unbedingt beseitigen,. bevor Vba auf die Werte zugreift. Wenn die Daten aus einem anderen System (SAP, Access-Abfragen usw.) kommen, dann passiert das regelmäßig und ist ein altes 'Kriegsleiden' von Excel aus Zeiten Version 3/4, wo man eine Texteingabe in die Zelle noch mit einem einfachen Hochkomma kentlich machen mußte.
Wie das geht, verrät Dir ein Browser Deines Vertrauens mit den Stichworten:
excel textzahlen in echte zahlen konvertieren
1 Lösungsangebot: https://www.online-excel.de/excel/singsel.php?f=58
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Makro mit Prozentwert
21.04.2020 16:15:26
Tim
Alles klar, danke euch!
;

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

Makro zur Berechnung von Prozentwerten in Excel


Schritt-für-Schritt-Anleitung

  1. Zellenformat überprüfen: Stelle sicher, dass die Zellen, die den Prozentsatz enthalten, tatsächlich im Prozentformat formatiert sind. Du kannst dies tun, indem du die Zellen markierst und zu „Start“ > „Zahlenformat“ > „Prozent“ gehst.

  2. Daten in richtige Form bringen: Vergewissere dich, dass die Werte in den Zellen keine Textwerte sind. Verwende die Funktion ISTZAHL() und ISTTEXT(), um dies zu überprüfen. Wenn die Werte als Text vorliegen, kannst du sie mit =WERT(Zelle) oder durch Kopieren und Einfügen als „Werte“ konvertieren.

  3. Makro erstellen: Du kannst ein Makro erstellen, um von einem Wert den Prozentsatz abzuziehen. Hier ein einfaches Beispiel:

    Sub ProzentAbziehen()
        Dim i As Long
        For i = 2 To 10 ' Beispiel für Zeilen 2 bis 10
            Cells(i, 14).Value = Cells(i, 6).Value * (1 - Cells(i, 8).Value)
        Next i
    End Sub
  4. Makro ausführen: Führe das Makro aus, um die Berechnung durchzuführen.


Häufige Fehler und Lösungen

  • Fehlermeldung "Typen unverträglich": Dies tritt auf, wenn du versuchst, mit einem Textwert zu rechnen. Stelle sicher, dass die Zellen, die du verwendest, als Zahl formatiert sind.

  • Prozentwert nicht korrekt abgezogen: Wenn du mit Prozentsätzen arbeitest, achte darauf, dass die Zellen im richtigen Format sind. Du kannst WsQ.Cells(i, 8).Value / 100 verwenden, um den Prozentwert in eine Dezimalzahl umzuwandeln.


Alternative Methoden

  1. Manuelle Berechnung: Du kannst direkt in einer Zelle die Formel =Zelle1 * (1 - Zelle2) nutzen, um den Prozentwert abzuziehen. Zum Beispiel: =A1*(1-B1).

  2. Excel-Formeln nutzen: Verwende die Funktion PROZENTWERT, um den Prozentwert zu berechnen, bevor du ihn abziehst. Zum Beispiel: =A1 - PROZENTWERT(A1, B1).


Praktische Beispiele

  • Beispiel 1: Angenommen, in Zelle A1 steht der Wert 100 und in B1 der Prozentsatz 20%. Um 20% abzuziehen, könntest du die Formel =A1*(1-B1) verwenden, was 80 ergibt.

  • Beispiel 2: Wenn du mehrere Prozentsätze abziehen möchtest, kannst du eine Spalte für die Werte und eine für die Prozentsätze anlegen und dann ein Makro wie oben beschrieben verwenden.


Tipps für Profis

  • Verwende benutzerdefinierte Formate: Manchmal ist es hilfreich, benutzerdefinierte Zahlenformate zu verwenden, um sicherzustellen, dass Excel die Werte korrekt interpretieren kann.

  • Datenvalidierung: Setze Datenvalidierungen ein, um sicherzustellen, dass nur gültige Werte eingegeben werden. So kannst du Fehler vermeiden, die zu unerwarteten Ergebnissen führen.


FAQ: Häufige Fragen

1. Wie kann ich einen Prozentsatz von einer Zahl abziehen?
Du kannst dies einfach mit der Formel =Zahl * (1 - Prozentsatz) tun. Achte darauf, dass der Prozentsatz in Dezimalform vorliegt.

2. Was mache ich, wenn ich mit Textwerten arbeite?
Wenn deine Daten als Text formatiert sind, musst du sie in echte Zahlen umwandeln. Nutze die Funktion WERT(), um Text in Zahl zu konvertieren.

3. Wie kann ich in Excel mehrere Prozentsätze abziehen?
Du kannst entweder eine Formel für jede Zeile verwenden oder ein VBA-Makro schreiben, das alle Zeilen durchläuft und die Berechnung für dich durchführt.

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