Telefonszámunk: 1-472-0679

[Resolved] a sok “if” helyett valami egyszerűbbet…

Kezdőlap Fórumok Excel programozás [Resolved] a sok “if” helyett valami egyszerűbbet…

Topic Resolution: Resolved
4 bejegyzés megtekintése - 1-4 / 4
  • Szerző
    Bejegyzés
  • #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 If

    Sheets(“service2”).Range(“bz3”) = Sheets(“service2”).Range(“ca1”)

    End Sub

    Potus

    #9760
    delila
    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

    #9761
    Potus
    Felhasználó

    Kedves Delila!

    ZSENIÁLIS!

    Köszönöm szépen!

    Potus

    #9763
    delila
    Felhasználó

    Kedves egészségedre!

4 bejegyzés megtekintése - 1-4 / 4
  • Be kell jelentkezni a hozzászóláshoz.