VisualBasic Excel - Zellen prüfen, Zellenwert kopieren, drucken und wert setzen

Nico_B

Lt. Junior Grade
Registriert
Sep. 2010
Beiträge
345
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.

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
 
würde das nicht einfacher mit der seriendruckfunktion von word gehen? office deckt solche standardfälle eigentlich ab.
 
Moin.

Der Datenbestand wird aber als Nachweis immer mehr und das Datum wann es rausgehen soll soll ja berechnet werden. Ich wüsste nicht wie man das rein mit Word lösen soll.
 
man kann in solchen seriendrucken auch daten aus excel nutzen und ebenso lassen sich bedingungen einfügen und auch datensätze überspringen, wenn bestimmte kriterien nicht erfüllt werden. ich würde einfach mal danach googlen. die umsetzung über den seriendruck dürfte deutlich einfacher sein als die vba-lösung, die du in excel anstrebst. darüber hinaus lässt sich ein anschreiben in word auch einfacher formatieren, als in excel. ist natürlich dir überlassen wie du es letztendlich löst, aber da hierfür offenbar keiner hilfe anbieten kann oder will würde ich es zumindest mal in betracht ziehen.
 
Zurück
Oben