Guten Abend,
ich habe versucht ein VBA Skript zu erstellen mit dem ich Anschreiben an einen Kunden nach halten kann. Leider klappt es jedoch nicht so ganz. Vielleicht könnt ihr mir weiterhelfen.
Folgende Konstellation liegt vor.
Ich habe zwei Tabellenblätter.
Auf dem Tabellenblatt "Eingabe" sind die Daten zum Kunden gespeichert. Dieses stammen aus einem Datenexport aus einer Datenbank. Ergänzt habe ich die Daten um die Spalte B in die Kundennummer steht, die Spalte D in der entweder ein "j" oder ein "n" stehen soll für angeschrieben oder nicht angeschrieben, die Spalte "C" in der hinterlegt ist per Formel ob ein Anschreiben ausgeführt werden soll. Auf dem zweiten Tabellenblatt "Druckseite" ist das Anschreiben hinterlegt.
Nun soll per Knopfdruck (so meine Vorstellung) das Skript die einzelnen Zeilen durchlaufen und wenn die Bedingungen erfüllt sind (Spalte B nicht leer, Spalte D = Leer und das Datum in Spalte ist kleiner als das heutige Datum), dann soll das Skript den Wert aus Spalte D in die Zelle A9 auf dem Tabellenblatt "Druckseite" eintragen und diese Seite ausdrucken (Rest füllt Excel per Formel). Zusätzlich solll dann noch auf dem Tabellenblatt "Eingabe" in die Spalte D ein j eingetragen werden und in die Spalte E das Tagesdatum.
ich habe versucht ein VBA Skript zu erstellen mit dem ich Anschreiben an einen Kunden nach halten kann. Leider klappt es jedoch nicht so ganz. Vielleicht könnt ihr mir weiterhelfen.
Folgende Konstellation liegt vor.
Ich habe zwei Tabellenblätter.
Auf dem Tabellenblatt "Eingabe" sind die Daten zum Kunden gespeichert. Dieses stammen aus einem Datenexport aus einer Datenbank. Ergänzt habe ich die Daten um die Spalte B in die Kundennummer steht, die Spalte D in der entweder ein "j" oder ein "n" stehen soll für angeschrieben oder nicht angeschrieben, die Spalte "C" in der hinterlegt ist per Formel ob ein Anschreiben ausgeführt werden soll. Auf dem zweiten Tabellenblatt "Druckseite" ist das Anschreiben hinterlegt.
Nun soll per Knopfdruck (so meine Vorstellung) das Skript die einzelnen Zeilen durchlaufen und wenn die Bedingungen erfüllt sind (Spalte B nicht leer, Spalte D = Leer und das Datum in Spalte ist kleiner als das heutige Datum), dann soll das Skript den Wert aus Spalte D in die Zelle A9 auf dem Tabellenblatt "Druckseite" eintragen und diese Seite ausdrucken (Rest füllt Excel per Formel). Zusätzlich solll dann noch auf dem Tabellenblatt "Eingabe" in die Spalte D ein j eingetragen werden und in die Spalte E das Tagesdatum.
Code:
Sub LA()
Dim i As Long, s As Long, n As Long
i = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
s = 3
With Worksheets("Eingabe")
For n = s To i
If .Range("B" & n) <> "" and .Range("D" & n) = "") and .Range("C" & n) < Date then
Union(.Range("B" & n).Copy _
Destination:=Worksheets("Druckseite").Range("A" & 9)
Worksheets("Druckseite").PrintOut
Worksheets("Eingabe").Range ("D" & n) = "j" And Worksheets("Eingabe").Range("E" & n) = Date
End If
Next i
End With
End Sub