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

Forumthread: Wenn bestimmter Text, dann multiplizieren

Wenn bestimmter Text, dann multiplizieren
Chris
Hi zusammen,
bräuchte einen kleinen Code, mit dem ich folgendes machen kann:
In der Range AF167:AR167 steht in jeder Zelle ein Wort und zwar entweder ABC oder DEF oder XYZ
In der RAnge AF168:AR168 stehen verschiedene Zahlen
Für alle Felder in der Reihe 167, in denen ABC steht, soll 2 Zeilen tiefer (Range AF169:AR169) die Zahl aus Zeile 168 mit 2 multipliziert werden.
Analog soll bei DEF die Zahl mit 3 multipliziert werden, bei XYZ die Zahl mit 4 multipliziert werden.
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Wenn bestimmter Text, dann multiplizieren
05.01.2010 13:28:46
Worti
Hallo Chris,
das geht zB. so: Sub Chris() Dim rngZelle As Range Dim intFaktor As Integer For Each rngZelle In Range("AF167:AR167") Select Case UCase(rngZelle.Value) Case Is = "ABC" intFaktor = 2 Case Is = "DEF" intFaktor = 3 Case Is = "XYZ" intFaktor = 4 End Select rngZelle.Offset(2, 0).Value = rngZelle.Offset(1, 0).Value * intFaktor Next rngZelle End Sub
Gruß Worti
Anzeige
AW: Wenn bestimmter Text, dann multiplizieren
05.01.2010 13:37:02
Chris
Danke für den Code.
Eine kleine Änderung vielleicht:
Wie müsste ich es machen, wenn ich die Faktoren ins Tabellenblatt schreibe, um sie z.B. einfacher abändern zu können.
Faktor 2 in Zelle AE171
Faktor 3 in Zelle AE172
Faktor 4 in Zelle AE173
Formel !?
05.01.2010 13:45:08
Ramses
Hallo
Warum nimmst du nicht einfach eine Formel die du selbst verstehst ?
Mappe3

 ABCDE
1ABCDEFABCXYZ 
21213 
32629 
4     

Formeln der Tabelle
ZelleFormel
A3=WENN(A1="ABC";A2*2;WENN(A1="DEF";A2*3;WENN(A1="XYZ";A2*3;"")))
B3=WENN(B1="ABC";B2*2;WENN(B1="DEF";B2*3;WENN(B1="XYZ";B2*3;"")))
C3=WENN(C1="ABC";C2*2;WENN(C1="DEF";C2*3;WENN(C1="XYZ";C2*3;"")))
D3=WENN(D1="ABC";D2*2;WENN(D1="DEF";D2*3;WENN(D1="XYZ";D2*3;"")))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Alternativ kannst du das auch mit SVERWEIS erledigen,... zur leichteren Anpassung der Variablen
Mappe3

 ABCDEFGH
1ABCDEFABCXYZ  ABC2
21213  DEF3
326212  XYZ4
4        

Formeln der Tabelle
ZelleFormel
A3=A2*SVERWEIS(A1;$G$1:$H$3;2;0)
B3=B2*SVERWEIS(B1;$G$1:$H$3;2;0)
C3=C2*SVERWEIS(C1;$G$1:$H$3;2;0)
D3=D2*SVERWEIS(D1;$G$1:$H$3;2;0)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Das kannst du dann auch problemlos erweitern
Gruss Rainer
Anzeige
..ein bißchen nachdenken?..
05.01.2010 13:49:24
robert
hi,
statt
intfaktor = 2 usw..
intfaktor = AE171
usw..
gruß
robert
Range("AE171")..usw.. owT
05.01.2010 13:51:40
robert
AW: Wenn bestimmter Text, dann multiplizieren
05.01.2010 13:51:22
Michael
das sollte gehen wenn du anstatt der Zahlen dort die Zelle einträgst
also:
intFaktor = Range("AE171") für 2
intFaktor = Range("AE172") für 3
usw.
Gruß
Michael
@WORTI habe ich Dir vorgegriffen? :-/
Anzeige
AW: Wenn bestimmter Text, dann multiplizieren
05.01.2010 13:56:04
Chris
Danke an alle! Klappt super!
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Excel: Multiplizieren bei bestimmten Texten


Schritt-für-Schritt-Anleitung

  1. Öffne Deine Excel-Datei und gehe zu dem Arbeitsblatt, in dem Du die Berechnung durchführen möchtest.

  2. Definiere Deine Daten: In der Range AF167:AR167 stehen die Textwerte (ABC, DEF, XYZ) und in AF168:AR168 die entsprechenden Zahlen.

  3. Öffne den VBA-Editor mit ALT + F11.

  4. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.

  5. Kopiere den folgenden Code in das Modul:

    Sub MultiplizierenBeiText()
        Dim rngZelle As Range
        Dim intFaktor As Integer
    
        For Each rngZelle In Range("AF167:AR167")
            Select Case UCase(rngZelle.Value)
                Case Is = "ABC"
                    intFaktor = 2
                Case Is = "DEF"
                    intFaktor = 3
                Case Is = "XYZ"
                    intFaktor = 4
            End Select
            rngZelle.Offset(2, 0).Value = rngZelle.Offset(1, 0).Value * intFaktor
        Next rngZelle
    End Sub
  6. Schließe den VBA-Editor und gehe zurück zu Excel.

  7. Führe das Makro aus: Gehe zu "Entwicklertools" > "Makros" > wähle "MultiplizierenBeiText" und klicke auf "Ausführen".


Häufige Fehler und Lösungen

  • Fehlermeldung: "Typen inkompatibel": Stelle sicher, dass die Zellen in der Range AF167:AR167 nur Text und in AF168:AR168 nur Zahlen enthalten.
  • Das Makro tut nichts: Überprüfe, ob Du das richtige Arbeitsblatt aktiviert hast und dass das Makro nicht in einem anderen Arbeitsblatt liegt.
  • Das Ergebnis wird nicht korrekt angezeigt: Stelle sicher, dass die Offset-Werte korrekt sind (2 Zeilen nach unten).

Alternative Methoden

  1. Formelansatz: Du kannst auch die WENN-Funktion verwenden, um die Multiplikation durchzuführen. In Zelle AF169 könntest Du folgende Formel eingeben:

    =WENN(AF167="ABC";AF168*2;WENN(AF167="DEF";AF168*3;WENN(AF167="XYZ";AF168*4;"")))

    Ziehe die Formel nach rechts, um sie auf die anderen Zellen anzuwenden.

  2. SVERWEIS verwenden: Eine weitere Möglichkeit ist die Verwendung von SVERWEIS, um die Faktoren in einer Tabelle zu speichern und dann die Berechnung durchzuführen.


Praktische Beispiele

  • Wenn Du in der Zelle AE171 den Wert 2, in AE172 den Wert 3 und in AE173 den Wert 4 speicherst, kannst Du den Code anpassen:

    intFaktor = Range("AE171").Value  ' für ABC
    intFaktor = Range("AE172").Value  ' für DEF
    intFaktor = Range("AE173").Value  ' für XYZ
  • Verwende die Formel in Zelle A3:

    =A2*SVERWEIS(A1;$G$1:$H$3;2;0)

Tipps für Profis

  • Nutze Benannte Bereiche, um die Formelübersichtlichkeit zu erhöhen. So kannst Du statt Range("AE171") einen Namen wie FaktorABC verwenden.
  • Automatisiere den Prozess: Setze ein Ereignis ein, sodass das Makro automatisch ausgelöst wird, wenn sich die Werte in den Zellen ändern.

FAQ: Häufige Fragen

1. Frage
Wie kann ich alle Werte in einer Spalte mit einer Zahl multiplizieren?
Du kannst dafür die MULTIPLIKATION-Formel verwenden oder ein einfaches VBA-Skript, das alle Zellen in der Spalte durch eine Zahl multipliziert.

2. Frage
Gibt es eine Möglichkeit, mehrere Zellen gleichzeitig zu multiplizieren?
Ja, Du kannst in einer Formel die Funktion SUMME oder PRODUKT benutzen, um mehrere Zellen zu multiplizieren. Alternativ kannst Du auch ein VBA-Skript verwenden, das durch die Zellen iteriert.

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