Kezdőlap › Fórumok › Excel programozás › [Resolved] a sok “if” helyett valami egyszerűbbet…
- This topic has 3 hozzászólás, 2 résztvevő, and was last updated 2 months, 3 weeks telt el by
delila.
-
SzerzőBejegyzés
-
2023-03-12-13:03 #9759
Potus
FelhasználóHello!
van ez az alábbi makróm. Szeretném a lehető legegyszerűbb módon úgy kiegészíteni, hogy a kivonások eredményét csak akkor írja be a cellákba , ha azok nagyobbak vagy egyenlőek nullával. Ha kisebbek akkkor nullát írjon. Meg lehet úgy oldani, hogy ne kelljen sok “if”-et alkalmazni? előre is köszi!!!
Sub Health_Data_Fresh()
If Sheets(“service2”).Range(“bz2”) <> Sheets(“service2”).Range(“ca1”) Then
Sheets(“service2”).Range(“bx6”) = Sheets(“service2”).Range(“bz3”) * Sheets(“service2”).Range(“ch6”)
Sheets(“service2”).Range(“bx7”) = Sheets(“service2”).Range(“bz3”) * Sheets(“service2”).Range(“ch7”)
Sheets(“service2”).Range(“bx8”) = Sheets(“service2”).Range(“bz3”) * Sheets(“service2”).Range(“ch8”)
Sheets(“service2”).Range(“bx9”) = Sheets(“service2”).Range(“bz3”) * Sheets(“service2”).Range(“ch9”)
Sheets(“service2”).Range(“bx10”) = Sheets(“service2”).Range(“bz3”) * Sheets(“service2”).Range(“ch10”)
Sheets(“service2”).Range(“bx11”) = Sheets(“service2”).Range(“bz3”) * Sheets(“service2”).Range(“ch11”)
Sheets(“service2”).Range(“ci6”) = Sheets(“service2”).Range(“ci6”) – Sheets(“service2”).Range(“bx6”)
Sheets(“service2”).Range(“ci7”) = Sheets(“service2”).Range(“ci7”) – Sheets(“service2”).Range(“bx7”)
Sheets(“service2”).Range(“ci8”) = Sheets(“service2”).Range(“ci8”) – Sheets(“service2”).Range(“bx8”)
Sheets(“service2”).Range(“ci9”) = Sheets(“service2”).Range(“ci9”) – Sheets(“service2”).Range(“bx9”)
Sheets(“service2”).Range(“ci10”) = Sheets(“service2”).Range(“ci10”) – Sheets(“service2”).Range(“bx10”)
Sheets(“service2”).Range(“ci11”) = Sheets(“service2”).Range(“ci11”) – Sheets(“service2”).Range(“bx11”)
End IfSheets(“service2”).Range(“bz3”) = Sheets(“service2”).Range(“ca1”)
End Sub
Potus
2023-03-12-14:35 #9760delila
FelhasználóSzia!
Nem olyan sok, 6 IF kell hozzá. Viszont lehet egyszerűsíteni.
Sub Health_Data_Fresh() With Sheets("service2") If .Range("bz2") <> .Range("ca1") Then .Range("bx6") = .Range("bz3") * .Range("ch6") .Range("bx7") = .Range("bz3") * .Range("ch7") .Range("bx8") = .Range("bz3") * .Range("ch8") .Range("bx9") = .Range("bz3") * .Range("ch9") .Range("bx10") = .Range("bz3") * .Range("ch10") .Range("bx11") = .Range("bz3") * .Range("ch11") If .Range("ci6") - .Range("bx6") <= 0 Then .Range("ci6") = 0 Else .Range("ci6") = .Range("ci6") - .Range("bx6") If .Range("ci7") - .Range("bx7") <= 0 Then .Range("ci7") = 0 Else .Range("ci7") = .Range("ci7") - .Range("bx7") 'stb. End If .Range("bz3") = .Range("ca1") End With End Sub
Delila
2023-03-12-15:48 #9761Potus
FelhasználóKedves Delila!
ZSENIÁLIS!
Köszönöm szépen!
Potus
2023-03-12-16:02 #9763delila
FelhasználóKedves egészségedre!
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.