AW: Excel-Bericht aus Daten erstellen
13.04.2010 15:26:12
fcs
Hallo Martin,
das sprengt fast ein wenig den Rahmen für Hilfe via Forum.
Folgende Empfehlungen:
1. Vereinfache dein Formular in soweit, dass du das feste Wochentagsschema 5 mal Mo bis Sa wegläßt und die Reisen "einfach" untereinander auflistest.
2. Nimm die eindeutige Personalnummer mit ins Formular auf. Diese ist dann auch die Referenz für die Übernahme der Informationen vom Blatt Daten ins Formular.
Nachfolgend ein Makro, dass die relevanten Daten erst in eine daten-Array einliest und anschliessend je PersonalNr ins Formular überträgt und druckt (im Moment) nur die Seitenvorschau (Papier sparen). Die Formatierungen im Formular muss du z.T. noch anpassen, Die Ergebnissummenformeln ergänzen.
Gruß
Franz
Option Explicit
Private wksData As Worksheet, wksForm As Worksheet
Private arrData()
Sub Formular()
Set wksData = Worksheets("Daten")
Set wksForm = Worksheets("Formular")
If DatenEinlesen > 0 Then
Call Daten_ins_Formular
MsgBox "Ffertig!"
Else
MsgBox "Keine Daten für den Zeitraum gefunden"
End If
End Sub
Private Function DatenEinlesen() As Long
Dim lZeile As Long, iArr As Long, dDatumVon As Date, dDatumBis As Date
'Datensätze einlesen, die innerhalb des Datumbereichs liegen
dDatumVon = wksForm.Range("G1")
dDatumBis = wksForm.Range("H1")
iArr = 0
With wksData
For lZeile = 3 To .Cells(.Rows.Count, 2).End(xlUp).Row
If .Cells(lZeile, 2) >= dDatumVon And .Cells(lZeile, 2)