'Wenn dann per VBA (VBA)

Ben, Donnerstag, 08.11.2018, 10:46 (vor 40 Tagen)

Hallo zusammen,

ich benötige für meine Tabelle folgendes als VBA Worksheet:

Wenn; "R3" > "L3" = Text1 in "A3"
Wenn; "R3" = "L3" = Text2 1 in "A3"
Wenn; "R3" = 0 und ($B$2$ - "O3";) <"N3" = Text3 1 in "A3"
Wenn; "R3" < "L3" aber > 1 = Text 4 1 in "A3"
Wenn; R3" = 0 und ($B$2$ - "O3";) > "N3" = Text5 1 in "A3"

Zeile 3 dient hier nur als Beispiel. Die Tabelle wächst im lauf des Jahres. Somit sollte das für die Komplette Spalte A gelten.

Ist das verständlich ausgedrückt?

Kann mir hierbei jemand behilflich sein.

Vielen Dank euch!

LG Ben

'Wenn dann per VBA

Martin Asal @, Donnerstag, 08.11.2018, 13:50 (vor 40 Tagen) @ Ben

Theoretisch geht das auch ohne VBA, aber die Formel wäre ganz schon kompliziert verschachtelt ;-)

Ob deine Bedingungen wirklich alle Fälle abdecken, bezweifle ich. Was ist z.B., wenn R3<L3, und R3 zwischen 0 und 1 liegt? hier jedenfalls ein Lösungsvorschlag:

Public Function myText()
Dim Zeile As Long
Dim R, L
 
Zeile = ActiveCell.Row
 
R = ActiveSheet.Range("R" & Zeile)
L = ActiveSheet.Range("L" & Zeile)
 
Select Case R
    Case Is > L
        myText = "Text1"
    Case Is = L
        myText = "Text2"
    Case Is < L And R > 1
        myText = "Text4"
    Case 0
        If ActiveSheet.Range("$B$2") - ActiveSheet.Range("O" & Zeile) < ActiveSheet.Range("R" & Zeile) Then
            myText = "Text3"
        Else
            myText = "Text5"
        End If
End Select
 
End Function
 

Martin

'Wenn dann per VBA

Ben, Donnerstag, 08.11.2018, 14:45 (vor 40 Tagen) @ Martin Asal

Hallo Martin,

vielen Dank für deine Hilfe. Zu deinen Bedenken das der Wert zwischen 0 und eins liegt ist Unmöglich.
Kurz zur Aufklärung:
In Spalte L steht der Betrag der in Rechnung gestellt wurde.
In Spalte R wird bei Zahlungseingang der tatsächlich bezahlte Betrag eingetragen.
In B2 steht immer das aktuelle Datum
In Spalte N das Zahlungsziel in Tagen
in Spalte M das Rechnungsdatum
In Spalte O das Fälligkeitsdatum, dass sich automatisch B2 mit dem aktuellen Datum und Spalte M dem Rechnungsdatum ergibt.


In Spalte A sollte dann ein Buchstabe (in Wingdings) stehen und den aktuellen Status anzeigen.

Hierfür gibt es 5 Möglichkeiten:

1. Die Rechnung wurde bezahlt, jedoch wurde Zuviel bezahlt
"R3" > "L3" = Text 1

2. Die Rechnung wurde komplett bezahlt
"R3" = "L3" = Text 2

3. Die Forderung (Rechnung) ist offen aber noch im Zahlungsziel
"R3" = 0 und ($B$2$ - "O3";) <"N3" = Text 3

4. Die Rechnung wurde bezahlt, Jedoch zu Wenig
"R3" < "L3" aber > 1 = Text 4

5. Es wurde noch nichts bezahlt und das Zahlungsziel ist überschritten
R3" = 0 und ($B$2$ - "O3";) > "N3" = Text 5

Ich probiere heute Abend gleich mal dein Lösungsansatz und melde mich dann,
bin gerade unterwegs.

Vielen Dank dir!!!

RSS-Feed dieser Diskussion
powered by my little forum