Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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)
Antworten 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
Antworten 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ß
Antworten Top


Gehe zu:


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