Microsoft Excel

Herbers Excel/VBA-Archiv

Wenn bestimmter Text, dann multiplizieren | Herbers Excel-Forum


Betrifft: Wenn bestimmter Text, dann multiplizieren von: Chris
Geschrieben am: 05.01.2010 13:19:09

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.

  

Betrifft: AW: Wenn bestimmter Text, dann multiplizieren von: Worti
Geschrieben am: 05.01.2010 13:28:46

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


  

Betrifft: AW: Wenn bestimmter Text, dann multiplizieren von: Chris
Geschrieben am: 05.01.2010 13:37:02

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


  

Betrifft: Formel !? von: Ramses
Geschrieben am: 05.01.2010 13:45:08

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


  

Betrifft: ..ein bißchen nachdenken?.. von: robert
Geschrieben am: 05.01.2010 13:49:24

hi,

statt

intfaktor = 2 usw..

intfaktor = AE171

usw..

gruß
robert


  

Betrifft: Range("AE171")..usw.. owT von: robert
Geschrieben am: 05.01.2010 13:51:40




  

Betrifft: AW: Wenn bestimmter Text, dann multiplizieren von: Michael
Geschrieben am: 05.01.2010 13:51:22

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??? :-/


  

Betrifft: AW: Wenn bestimmter Text, dann multiplizieren von: Chris
Geschrieben am: 05.01.2010 13:56:04

Danke an alle! Klappt super!


Beiträge aus den Excel-Beispielen zum Thema "Wenn bestimmter Text, dann multiplizieren"