Daten in Urlaubskalender einfügen
#1
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!


Angehängte Dateien
.xlsm   Hauptdatei.xlsm (Größe: 19,75 KB / Downloads: 9)
.xlsx   Import Datei.xlsx (Größe: 25,77 KB / Downloads: 5)
Top
#2
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • diving_excel
Top
#3
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ß
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste