Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

If then berechnung

Forumthread: If then berechnung

If then berechnung
06.12.2004 17:39:47
Hassan
Hallo,
vielleicht kann mir jemand helfen, bin noch Anfänger, was die Makroprogrammierung angeht. Ich würde gerne ein makro schreiben das folgendes Berechnung vornehmen soll:
In Abhängigkeit von dem Wert in der linken Spalte, soll in der rechten Spalte ein neuer Wert berechnet werden.
Dies geht mit if, then ganz gut, mein problem ist aber, dass es sich a) um mehrere zellen handelt und b) mehrere werte verglichen werden sollen.
z.B: soll bei werten kleiner 10 , "linke zelle *1"
bei werten kleiner 20, "linke zelle *2"
bei werten kleiner 30, "linke zelle * 3" usw. gerechnet werden.
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: If then berechnung
Volker
Hallo Hassan,
hier mal als Bsp.:
suchwert = range("D1")
if suchwert&lt10 then
range("E1")= Range("A1")
else if suchwert&lt20 then
range("E1")= 2 * Range("A1")
else if suchwert&lt30 then
range("E1")= 3 * Range("A1")
else if .....
usw.
endif
Du kannst auch die CASE-Anweisung nehmen.
Schau mal in die VBA-Hilfe, da sind immer Beispiele drin.
Gruß
Volker
Anzeige
AW: If then berechnung
06.12.2004 17:55:56
GraFri
Hallo
Nehme statt if ... then
Select case ...
das ist flexiebler.
Mit freundlichen Grüßen, GraFri
Code
06.12.2004 18:06:10
GraFri
Hallo


      
' In die entsprechende Tabelle

Private Sub Worksheet_Change(ByVal target As Excel.Range)
' wird im definierten Bereich ein Wert geändert, wird in
' der nächsten Spalte der Wert geändert
    Dim RaBereich As Range, RaZelle As Range, TMP
'****************************************************
' Wenn in der Spalte C die Werte eingetragen werden
' Bereich der Wirksamkeit
    Set RaBereich = Range("c5:c20000")
    Application.EnableEvents = 
False
    
For Each RaZelle In Range(target.Address)
        
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
            TMP = target.Value
            
Select Case TMP
              
Case Is < 10
                RaZelle.Offset(0, 1) = TMP
              
Case Is < 20
                RaZelle.Offset(0, 1) = TMP * 2
              
Case Is < 30
                RaZelle.Offset(0, 1) = TMP * 3
              
' usw. usw.
            End Select
        
End If
    
Next RaZelle
Mit freundlichen Grüßen, GraFri
Anzeige
;

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