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.

Auslesen von Infos ständig ändernder Ordner / Dateinamen
#1
Hallo zusammen,

ich habe leider ein Problem und komme zurzeit nicht weiter...

folgender Ausgangspunkt:

in einem Ordner, nennen wir es 2019, sind mehrere Unterordner nach KW (Kalenderwochen) sortiert, mit den Namen 19_KW01; 19_KW02 usw.

In diesen Ordnern sind 5 Excel Dateien, welche die 5 Werktage sind, mit den Namen der jeweiligen Tagen der Kalenderwoche. Sieht dann so aus:

190107_Prüfungsfehler (Mo; Wochentag 1)
190108_Prüfungsfehler (Di; Wochentag 2)
...
190111_Prüfungsfehler (Fr; Wochentag 5)

in diesen Dateien sind jeweil 8 Tabellenblätter, in welche ich Informationen zu je 6 Spalten hinzufüge, jeden Tag, z.B. Nummer, Datum, Notizen usw.



Nochmal zusammengefasst:

2019->19_KW02->190107_prüfungsfehler.xlsx->8 Tabellenblätter mit je 6 Zeilen Informationen

Was ich nun machen möchte ist folgendes:

in einer 6. Exceldatei habe ich in die 1. Spalte noch die Spalte "Wochentag" hinzugefügt.

Ein Script / Makro (wie man es auch nenne darf) ist an ein Button gekoppelt fest in dieser 6. Exceldatei (nennen wir es Zusammenfassung_Woche).

Nach drücken dieses Buttons übernimmt das Script alle Daten aus den anderen 5 Exceldateien, welche sich im selben Ordner befinden, in der richtigen Reihenfolge, fügt die Informationen zu Spalte 2 bis 8 (die 6 Spalten Dateninput aus den 5 Exceldateien) und versteht diese noch mit dem Wochentag, alle Daten der 1. Datei kriegen die Nummer 1 bei Wochentag in Spalte 1 (für Montag), alle Daten aus der 2. Datei kriegen die Nummer 2 bei Wochentag in Spalte 1 (für Dienstag) usw. und das für jede der 8 Tabellenspalten.

Ich steh leider total aufm Schlauch - habe es probiert mit "externe Daten abrufen" und dann das Makro aufzeichnen, aber hier wird nur in dem Ordner für KW 2 und genau die Daten für KW 2 eingefügt - da sich jede Woche sowohl Ordnername als auch die Namen der 5 Wochentagstabellen ändern geht das leider nicht...

Wie kann ich vorgehen??

Vielen Dank!!

Grüße
Antworten Top
#2
Hallo,

die Beschreibung ist gut genug, dass ich vermute, dass das mit VBA recht gut lösbar ist.

Du müßtest nur jemanden finden.

mfg
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • bz54
Antworten Top
#3
Vielen Dank,

ja ich denke VBA hat da gute Werkzeuge - nur habe ich bisher nie mit VBA arbeiten müssen da ich so eine komplexe Aufgabenstellung bisher nie hatte
Antworten Top
#4
Hallo,

das ist eine, für meine Begriffe, sehr interessante Aufgabe. Ich würde gerne hier einsteigen.
Leider lassen das derzeit meine privaten Umstände zeitlich nicht zu.
Ich werde aber interessiert mitlesen und eventuell auch meinen Senf dazugeben.

Dir drücke ich die Daumen, eine gute Lösung zu finden. Jedenfalls hast Du in diesem Forum
beste Chancen dazu.
Ich bedauere sehr, daß der Zeitpunkt für mich selbst so unglücklich liegt.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
[-] Folgende(r) 1 Nutzer sagt Danke an Käpt'n Blaubär für diesen Beitrag:
  • bz54
Antworten Top
#5
Hallo,

am besten wäre ein Dienstleister, der an deinem PC arbeiten könnte.

mfg
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • bz54
Antworten Top
#6
Klingt so, als ob sowas für nen VBA Newbie eig unlösbar ist Undecided
Antworten Top
#7
Hallo,

Zitat:Klingt so, als ob sowas für nen VBA Newbie eig unlösbar ist

nein, das sehe ich anders. Ich selbst bin vor Jahrenden mit einem sehr komplexen Thema
in den Foren gelandet. Von Makros hatte ich bis dahin nur nur gewußt, daß  es sie gibt
und mein Problem damit gelöst werden könnte.
Daher eine Warnung vorweg: Excel macht süchtig, aber im positiven Sinne.

Deine Wünsche wirst Du Dir ganz sicher nicht in fünf Minuten erfüllen können. Es wird
Zeit und Lernbereitschaft brauchen, aber letztendlich wird es sich lohnen und auch ein
wenig stolz machen. Und dann kommen sie dazu, die Sonderwünsche und/oder ein
weiteres Projekt.

Wie oben schon erwähnt; für mich ist es leider ein sehr ungünstiger Zeitpunkt, aber
Dir würde ich sehr gerne Mut machen, Dein Problem anzugehen. Leicht werden wird
es aber nicht. Durchhalten und Lernbereit sein mußt Du aber selbst.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
[-] Folgende(r) 1 Nutzer sagt Danke an Käpt'n Blaubär für diesen Beitrag:
  • bz54
Antworten Top
#8
Hallöchen,

eventuell kannst Du das auch mit PowerQuery lösen. Über den Dateinamen bekommst Du auch das Datum rein …
www.linearis.at/blog/2015/12/18/filenamen-beim-verzeichnisimport-mit-power-query-integrieren/
.      \\\|///      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:
  • bz54
Antworten Top
#9
Ich kriege es nun soweit hin mit Power Query, es sind allerdings noch 1-2 Probleme drin.

-Ich muss noch immer den Dateipfad selbst auswählen und die Verknüpfungen - wenn ich das 1x gemacht habe möchte ich die neue, 6. Excel Datei einfach in den nächsten KW Ordner kopieren und mit einem klick, oder auch mit aktualisieren, die Daten der neuen Woche holen...

-Power Query macht jedesmal ein neues Tabellenblatt mit dem Namen Tabelle1 auf - ich würde gerne entweder in vorhandenene Tabellenblätter integrieren oder neue bereits mit Namen versehen...
Antworten Top
#10
Hallo,

ich hab mal ein paar Zeilen zusammengeschustert (natürlich ungetestet).  Die Kommen in ein allgemeines Modul einer neuen Makro-Excel-Datei. Diese Datei muss in dem Verzeichnis mit den Jahresunterordner stehen. In der Zelle A1 steht dann der Teilpfad im Format "Jahr\Kalenderwoche" (Bsp. "2019\19_KW02") . Die vorbereitete Datei mit der zusätzlichen 1.  Spalte brauchste nicht, die stört nur. Schmeiss weg ...

Code:
Option Explicit
Sub SortDateien(s() As String)
Dim n As Long, x As Boolean, sx As String
  x = True
  While x = True
    x = False
    For n = 1 To UBound(s()) - 1
      If (s(n) > s(n + 1)) Then sx = s(n): s(n) = s(n + 1): s(n + 1) = sx: x = True
    Next
  Wend
End Sub
Sub WochenZusammenfassung()
Dim Pfad As String, Woche As String, p As Long, dateien(5) As String, s As String, n As Long, m As Long
Dim swb As Workbook, twb As Workbook, tws(8) As String, ws As Worksheet, r As Long, i As Long
  Pfad = [A1]
  p = InStr(Pfad, "\"): Woche = Mid(Pfad, p)
  Pfad = ThisWorkbook.Path + Pfad + "\"
  s = Dir(Pfad + "*.xlsx", vbNormal): n = 1
  While s <> ""
    dateien(n) = s: n = n + 1
    s = Dir()
  Wend
 
  SortDateien dateien()
 
  Set twb = Workbooks.Open(Pfad + dateien(1))
  twb.SaveAs Pfad + "Zusammenfassung-" + Woche + ".xlsx"
  n = 1
  For Each ws In twb.Worksheets
    tws(n) = ws.Name
    ws.Columns(1).Columns.Insert
    For i = 1 To 6: ws.Cells(i, 1) = 1: Next
  Next
  r = 7
  For n = 2 To 5
    Set swb = Workbooks.Open(Pfad + dateien(n))
    For m = 1 To 8
      swb.Worksheets(tws(m)).UsedRange.Copy twb.Worksheets(tws(m)).Cells(r, 2)
      For i = 0 To 5: ws.Cells(r + i, 1) = 2: Next
    Next
    r = r + 6
    swb.Close False
  Next
  twb.Close True
End Sub
vg, MM
Antworten Top


Gehe zu:


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