if_elseif_else

Guten Morgen,

ich habe folgendes Problem:

Ich möchte gern ein Feld vergleichen , dass in der Spalte H die Gesamtsumme angibt, ist jedoch je nach der Menge der Artikel weiter oben bzw weiter unten in der H spalte . Je nach dem wie groß die zahl ist (if :kleiner 5000 , ElseIF größer 25000 und das zwischen drin mit else abdecken. ) wird dann eine andere zahl in die K spalte geschrieben bzw im endstadion dann ein sverweis der auf die richtige Tabelle verweist.

Hier schon mal ein Code der in die richtung geht:

Sub Hallo()
If Cells(*, 8) „25000“ Then

Range(„K12“).Select
ActiveCell.FormulaR1C1 = „3“

Else
Range(„K12“).Select
ActiveCell.FormulaR1C1 = „=2“

End If
end sub

Danke schon mal für eure Hilfe!

Gruß Chris

Ich möchte gern ein Feld vergleichen , dass in der Spalte H
die Gesamtsumme angibt, ist jedoch je nach der Menge der
Artikel weiter oben bzw weiter unten in der H spalte . Je nach
dem wie groß die zahl ist (if :kleiner 5000 , ElseIF größer
25000 und das zwischen drin mit else abdecken. ) wird dann
eine andere zahl in die K spalte geschrieben bzw im endstadion
dann ein sverweis der auf die richtige Tabelle verweist.

hallo Chris,

zum Code sage ich jetzt mal nix. Gibt es das was du oben schilderst auch in verständlichen Sätzen?
Sorry, ich versteh da nur bahnhof. Und das kann ja nur zwei Gründe haben, es liegt an mir, oder aber…

Gruß
Reinhard

Schwer Bahnhof, aber irgendwas mit 5000 und 25000.
Kann es sein, das Du einfach in der Spalte H die Summe Bilden möchtest der vorhergehenden Zahlen und diese Summe soll konstant nach der letzten Zahleneingabe in der Reihe stehen? Ist das richtig? Das wäre dan mal nicht so schwer.

Dim l as long
for l=1 to 65535 step 1
if tabelle1.cells(l,8)="" Then
'Die Zeile in der keine Zahl steht wurde gefunden
’ --> letzter Datensatz, Summe einfügen in das leere Feld
tabelle1.cells(l,8) = „=Summe(H1:H“ & l & „)“
exit for
end if
next l

Grüsse Sebstian

So Guten Morgen,

Nein ist nicht so einfach…

also neuer Versuch… kurzer Hintergrund… es wird eine jedes mal andere Konfiguration eines Servers in eine Exceldatei exportiert.

In der Spalte H wird unter den Preisen die Summe dieser gespeichert mit der Formel :

=WENN(SUMME($H$10:blush:H$32)=0;"";SUMME($H$10:blush:H$32))

Diese Zelle variert aber natürlich , da es ja mal mehr mal weniger Artikel sind.

So nun zum eigentlichen:
Je nachdem wie hoch diese Summe ist , es gibt 3 Möglichkeiten
( kleiner als 5000 , zwischen 5000-25000 und größer als 25000 )
wird eine andere Konditionstabelle benutzt.
Nun möchte ich einfach nur einen Code der die Summe von Spalte H
überprüft und schaut welche Möglichkeit ansteht.
Machen wirs nicht zu kompliziert : wenn er kleiner ist als 5000 soll er in die Spalte K12 eine 1 schreiben , 5000-25000 eine 2 und größer als 25000 ein 3.

Hoffe ihr versteht es jetzt besser und ich hoffe auch das es einer von euch hinbekommt.
Vielleicht geht es mit Case einfacher muss nicht mit if sein.

Gruß Chrizzor

So Guten Morgen,
Nun möchte ich einfach nur einen Code der die Summe von Spalte
H
überprüft und schaut welche Möglichkeit ansteht.
Machen wirs nicht zu kompliziert : wenn er kleiner ist als
5000 soll er in die Spalte K12 eine 1 schreiben , 5000-25000
eine 2 und größer als 25000 ein 3.

Hallo Chrizzor,

Sub Hallo()
Dim Zei As Long
Select Case Range("H" & Cells(Rows.Count, 8).End(xlUp).Row).Value
 Case Is \> 25000
 Range("K12").Value = 3
 Case Is \>= 5000
 Range("K12").Value = 2
 Case Is \> 0
 Range("K12").Value = 1
 Case 

Gruß
Reinhard