Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: DerGue am Dezember 31, 2014, 19:02:55 Nachmittag

Titel: Office 2013: Excel Bezüge zu mehreren externen Dateien
Beitrag von: DerGue am Dezember 31, 2014, 19:02:55 Nachmittag
Excel 2013 Werte aus Dateien eines Ordners einer Datei in einem anderen Ordner zuweisen.

Hallo zusammen,

folgende Problematik:

Ich habe in einem Ordner A ca. 100 gleich aufgebaute Dateien (Einsatzlisten) mit je einem Tabellenblatt (Werte: Datum, Name, Anfangszeit, Endzeit). Es kommen hier täglich neue Dateien hinzu.

2 Beispiele:

 Datei 1: Veranstaltung XY

 Datum      Name           Beginn     Ende
 28.12.14   Meier Hans   12.30h    18.00h
                 Huber Sepp  14.00h    18.00h
                 Müller Uli      14.30     19.00h

 Datei 2: Veranstaltung ZA

 Datum      Name           Beginn     Ende
 29.12.14   Meier Hans   08.00h    16.00h
                 Wiesel Frank 09.00h    17.00h

In einem zweiten Ordner B befinden sich ca. 80 Dateien (Stundenlisten von Mitarbeitern), ebenfalls alle gleich aufgebaut, jedoch mit jew. 12 Tabellenblättern Jan, Feb, Mrz, usw. Diese Dateien sind nach den Namen von Mitarbeiter benannt.

Beispiel:

 Datei 1: Meier Hans
 Tabellenblatt: Dez.

 Datum        Veranstaltung    Beginn     Ende
 28.12.14     XY                    12.30h    18.00h
 29.12.14     ZA                     08.00h   16.00h


Nun würde ich gerne wenn möglich mittels Formeln oder Makros den namensbezogenen Stundenlisten in Ordner B bestimmte Werte aus den Einsatzlisten von Ordner A (Datum, Anfangszeit, Endzeit) zuweisen.

Wäre das mit Excel irgendwie zu bewerkstelligen oder komme ich hier um Access (wovon ich leider so gar keinen Schimmer habe) nicht rum ?

Würde mich über eure Hilfe freuen.

Viele Grüße,

Der Gü
 

 
Titel: Antw:Office 2013: Excel Bezüge zu mehreren externen Dateien
Beitrag von: kgs-ks am Januar 11, 2015, 15:20:24 Nachmittag

Zweifellos kann man das mit Excel VBA machen:

z.B. Pseudo-Code (also so nicht lauffähig !, alles etwas einfacher mit vorher definierten Bereichsnamen!)
   Nur als Anregung!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

...
for each file in FileList     ' (vorher definieren oder  schleife mit   DIR "Path\x.y"
   strVeranstaltung = getVerName(file)
   
   dteDatum = file.sheets("abc").cells (intDateRow,intDateColumn) 'passendes sheet definieren
   intNameZeile= getFirstRow (file.sheets("abc"))   'erster Name   
   do while  nameZelle(file.sheets("abc").cells(intNameZeile,intNameColumn)   <>""
      strName = nameZelle
      strBegin  = beginnZelle
      strEnd  = endeZelle
      
      set wbk = getWbk(strName)       'öffnen
      intFreeRow = getFirstFreeRow (wbk)
      
      strMonthSheet = getShtName(dteDatum,)   'passendes sheet definieren
      set sht = wbk.sheets(strMonthSheet)   
      
      sht.cells(intFreeRow, intDatumColumn) = strDatum   ' oder passendes Format
      sht.cells(intFreeRow, intVerColumn) = strVeranstaltung   ' oder passendes Format
      sht.cells(intFreeRow, intBeginColumn) = strBeginn   ' oder passendes Format
      sht.cells(intFreeRow, intEndeColumn) = strEnde  ' oder passendes Format
      wbk.save   '....schließen
      intNameZeile= intNameZeile +1
   loop
next file
...

Viel Glück
kgs