Clever-Excel-Forum

Normale Version: Daten in Urlaubskalender einfügen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,
in dem File "Hauptdatei" möchte ich einen Urlaubskalender erstellen. Im Bereich "B1:Y1" stehen die Monate vom 01.01.2019 bis zum 01.12.2020. In Spalte A steht der jeweilige Name. Nun habe ich einen CommandButton "Import" mit dem ich aus dem Excel File "Import Datei" die jeweiligen Werte für den Kalender und Mitarbeiter holen möchte. 

Dies wird mit folgendem Code gemacht:
Code:
Private Sub CommandButton1_Click()
            varDatei = Application.GetOpenFilename()
            Workbooks.Open varDatei
            Set wbImport = Workbooks.Open(varDatei)
            wbImport.Worksheets(1).Range("D4").Select
            wbImport.Worksheets(1).Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Copy
            ThisWorkbook.Worksheets("Tabelle1").Cells(2, 2).PasteSpecial Paste:=xlPasteValues
            wbImport.Saved = True
            wbImport.Close
End Sub

Nun ist es aber so das bei der Importierten Datei das Datum des Kalenders nicht immer mit dem selben Monat beginnt wie in der Hauptdatei. Wie müsste ich nun meinen Code anpassen, damit die Daten in der richtigen Spalte eingefügt werden?

Bsp: Der Kalender der Import Datei beginnt am 01.10.2019. Der Kalender der Hauptdatei beginnt am 01.01.2019. Die Importierten Daten müssten nun also in der Hauptdatei in Spalte K (=01.10.2019) eingefügt werden, anstatt wie bisher in B2 der Hauptdatei.

Das Start Datum der Import Datei ist immer in "D3" und auch immer in der Hauptdatei im Bereich "B1:Y1" vorhanden.

Vielen Dank und noch einen guten Morgen!
Hallöchen,

Du hast die Zelle B2 fest programmiert:

ThisWorkbook.Worksheets("Tabelle1").Cells(2, 2).PasteSpecial Paste:=xlPasteValues

Wenn nun in B2 immer der 1.1. steht könntest Du die Datumsdifferenz zum 1.1. ausrechnen und als Offset verarbeiten:

ThisWorkbook.Worksheets("Tabelle1").Cells(2, 2).Offset(0,Datumsdifferenz).PasteSpecial Paste:=xlPasteValues
Danke für den Tipp auf die Idee mit dem Offset bin ich nicht gekommen. Allerdings habe ich das Problem mittlerweile durch eine Pivot Tabelle gelöst, da diese importierten Daten ja direkt automatisch zuweist.


Trotzdem vielen Dank, wieder etwas gelernt!

Gruß