für meine Formulare verwende ich folgenden Code, den ich bei meiner Suche im Internet gefunden habe:
Sub Knopf_5()
On Error Resume Next
Dim Serientabelle As Worksheet
Dim Datentabelle As Worksheet
Dim Datenbereich As String
Dim Dbereich As Range
Dim Sbereich As Range
Dim Anzahl As Long
Dim Quellzelle As Range, Zielzelle As Range
Dim Datenname As String
Dim Serienname As String
Datenname = "Datenblatt"
Serienname = "Formular"
Datenbereich = "B109:D132"
Serienbereich = "h3,j3,m3"
Set Serientabelle = ActiveWorkbook.Worksheets(Serienname)
Set Datentabelle = ActiveWorkbook.Worksheets(Datenname)
Set Dbereich = Datentabelle.Range(Datenbereich)
Set Sbereich = Serientabelle.Range(Serienbereich)
For Anzahl = 1 To Dbereich.Rows.Count
Spalte = 1
For Each Zielzelle In Sbereich
Set Quellzelle = Dbereich.Cells(Anzahl, Spalte)
Spalte = Spalte + 1
Zielzelle.Formula = Quellzelle.Value
Next Zielzelle
Serientabelle.PrintOut
Next Anzahl
A = MsgBox("Es wurden " & CStr(Anzahl - 1) & " Tabellen ausgedruckt.", vbOKOnly, "Druckbericht") _
On Error GoTo 0
End Sub
Leider muss ich alle paar Wochen den Datenbereich anpassen, wenn sich im Datenbereich was ändert. Hilfreich wäre eine Erweiterung mit Filter (Filterkriterium könnte in Datenblatt, Spalte x stehen.
Also ungefähr so: Knopf_1: Filtern, dann der Vorgang, Filter zurücksetzen.
So etwas kriege ich nicht hin und jede Hilfe ist willkommen.
mit freundlichen Grüßen
Oliver