1.4k Aufrufe
Gefragt in Tabellenkalkulation von
Ich brauche dringend eure Hilfe.
Ich suche nach einer Formel/Makro, welches mir folgendes ermöglicht:

Also ich habe eine Liste mit Namen von Kunden (Spalte A-B) , dem
Datum des Einkaufs (Spalte C) und eine Spalte D mit dem Datum der
Zahlung.

Nun suche ich eine Formel, mit welcher ich ermitteln kann, ob der
Kunde schon seit über 14 Tagen nicht bezahlt hat und falls er dies noch
nicht gemacht hat, soll es die Zeile AB kopieren und in ein anderes
Sheet tun, damit ich Mahnungen verschicken kann. Diese Liste soll
jeden Tag aktualisiert werden.

Daher soll zuerst kontrolliert werden ob in Spalte D einen Wert steht,
wenn einer steht soll nichts passieren. Wenn in Spalte D kein Datum
steht, dann soll verglichen werden ob das Datum in Spalte C
(Einkaufsdatum) älter als 14 Tage zu heute ist, und falls dies der Fall
sein sollte, sollt er die Spalte AB in ein neues Sheet kopieren.

Daaaaanke.

5 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
mein Excle hat keine Zeile AB?

Gruß hajo
0 Punkte
Beantwortet von
ich meinte nur als Beispiel, dann soll er mir die Spalte A und B kopieren.
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

aus meiner Sicht ist dies, so wie du dir es vorstellst, nur über VBA zu lösen.

Mein Vorschlag, setze das Datum in D automatisch, etwa so für Zelle D3

= C3 +14

und dann mit bedingter Formatierung etwa so

=D3 < Heute() und dann entweder den Text oder die Zelle/Zeile farbig hinterlegen z.B. rot


Gruß

Helmut
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Der Code wird beim öffnen ausgeführt.
Unter DieseArbeitsmappe

Option Explicit

Private Sub Workbook_Open()
Dim LoI As Long
Dim Loletzte As Long
Dim LoZeile As String
LoZeile = 1
Worksheets("Tabelle2").Cells.ClearContents
With Worksheets("Tabelle1")
For LoI = 1 To IIf(IsEmpty(.Cells(.Rows.Count, 1)), _
.Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count)
If IsDate(.Cells(LoI, 2)) Then
If Cells(LoI, 3) = "" And .Cells(LoI, 2) <= Date - 14 Then
.Range(.Cells(LoI, 1), .Cells(LoI, 2)).Copy Worksheets("Tabelle2").Cells(LoZeile, 1)
LoZeile = LoZeile + 1
End If
End If
Next LoI
End With
End Sub


Gruß Hajo
0 Punkte
Beantwortet von
ist es nicht möglich nur mit Formel? ich kenn mich mit Makros nicht so aus....

Also den Vergleich ob es älter ist als 14 Tage habe ich mit Hilfe geschafft:

=AND(ISBLANK(D4);C4<TODAY()-14

so erhalte ich aber nur den Wert TRUE oder FALSE. wie kann ich jetzt noch bei dieser Formel anhängen, dass
wenn es TRUE ist, es mir die Zelle A und B kopiert, bzw. einfügt?
...