Inhalt mehrerer Zellen in Makro berücksichtigen

  • Excel

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Inhalt mehrerer Zellen in Makro berücksichtigen

    Hallo,

    ich habe ein Makro wo wenn eine gewisse Zelle (J8) kleiner als 1 ist, es in der Zelle (F8) die Zahl wieder um eins zurückzählt. Hierfür habe ich folgendes Makro verwendet:

    VB.NET-Quellcode

    1. Dim score As Integer, result As String
    2. score = Range("J8").Value
    3. If score <= 1 Then result = Range("F8").Value - 1
    4. Range("F8").Value = result



    Mein Problem ist nun, dass es die Zahl nur um eins zurückzählen soll wenn J8 und L8 niedriger als eins ist. Also wenn z.B. nur J8 kleiner als eins ist aber L8 größer ist sollte es nicht runter zählen. Was muss ich in mein Makro noch einbauen dass L8 auch berücksichtigt wird?

    *Vernünftigen Titel angegeben und CodeTags eingefügt* ~NoFear23m
    @PhillKitz, bitte ein wenig mehr mühe geben beim nächsten mal.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Nofear23m“ ()

    Danke für die Antwort. Allerdings habe ich dann noch ein Problem, da der Button mehrer Funktionen ausführen sollte aber dann immer die Fehlermeldung: Mehrfachdeklaration im aktuellen Gültigkeitsbereich). Das ist das Makro:

    VB.NET-Quellcode

    1. 'Gemeinde_Raiffeisen
    2. Dim score As Integer, result As String
    3. score = Range("J8").Value
    4. If Range("F8").Value < 1 And Range("L8").Value < 1 Then
    5. Range("F8").Value = result
    6. 'EW_Sparkasse
    7. Dim score As Integer, result As String
    8. score = Range("J13").Value
    9. If Range("F13").Value < 1 And Range("L13").Value < 1 Then
    10. Range("F13").Value = result
    11. End Sub


    *Codetags eingefügt* ~NoFear23m

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Nofear23m“ ()

    PhillKitz schrieb:

    Dim score As Integer, result As String
    Die Deklaration taucht mehrfach auf.
    Es reicht, wenn du die Variablen einmal definierst (sinnvollerweise am Anfang der Prozedur).

    Wo füllst du eigentlich dein e result Variable?
    Du weist sie zwar der Zelle F13 zu, aber die wird immer leer sein, da du ihr nie einen Wert gibst.

    Ich frage mich bei deinen Operationen eh, warum du VBA überhaupt benötigst und das nicht mit Excel-Formeln löst.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --