magoo2000
Goto Top

Daten aus mehreren Excel Dateien in eier Neuen Datei zusammenfügen

Hallo ich habe in einen Ordner sehr viele Excel Darein mit denselben Aufbau, und es kommen täglich welche dazu.
Die Exceldateien heißen immer anders. Nun möchte ich eine Excel Datei haben in der aus allen Dateien bestimmte Daten in einer art Liste zusammen geführt werden.

Beispiel: in jeder Datei, Zelle B3 steht der Vereinsname, in Zelle A9 der Name, C9 der Vorname und E9 die Spielernummer.
Dieses geht weiter bis A22, C22, E22. Das heißt es können bis zu 14 Namen in der Datei stehen.
Siehe Bild1
d3a9ef14b7831c94968a7fb45ac86c26-bild1


Diese Daten sollen in eine Unformatierte Datei eingefügt werden.
Siehe Bild2
f9be80720c091b512c9935f2bffd74aa-bild2

Da nicht bei allen Mannschaften 14 Namen in der Datei vorhanden sind, sollten nicht die leeren Daten übertragen werden.
Der Vereinsname sollte immer vor jeden Namen erscheinen.

Ich hoffe ihr versteht was ich meine und könnt mir helfen.

Gruß Magoo200

Content-ID: 48278

Url: https://administrator.de/contentid/48278

Ausgedruckt am: 23.11.2024 um 02:11 Uhr

Stefan764
Stefan764 09.01.2007 um 08:20:27 Uhr
Goto Top
Hallo,

das würde ich in VBA machen:

Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting.FileSystemObject")  
Set f = fs.GetFolder("c:\excel\")  
Set fc = f.Files

Dim a, b

a = 0

For Each f1 In fc
    
  Workbooks.Open "c:\excel\" & f1.Name  

  Dim Ziel, Quelle As Worksheet

  Set Ziel = Workbooks.Item(1).Worksheets(1)
  Set Quelle = Workbooks.Item(2).Worksheets(1)

  b = 0
  
  While Quelle.Cells(b + 9, 1) <> ""  
    
    Ziel.Cells(a, 1) = Quelle.Cells(3, 2)
    Ziel.Cells(a, 2) = Quelle.Cells(b + 9, 1)
    Ziel.Cells(a, 3) = Quelle.Cells(b + 9, 3)
    Ziel.Cells(a, 4) = Quelle.Cells(b + 9, 5)
    b = b + 1
    a = a + 1
    
  Wend

  Set Ziel = Nothing
  Set Quelle = Nothing

  Workbooks.Item(2).Close (False)

Next
Das Programm konnte ich leider nicht testen, da ich Ihre Dateien nicht habe face-wink

mfG
Stefan
Magoo2000
Magoo2000 09.01.2007 um 10:29:33 Uhr
Goto Top
Hallo Stefan,
danke für die schnelle Hilfe.
Ich habe das VBA Skript eingegeben. Es bringt mir eine Fehlermeldung " fehler beim Kompilieren. Außerhalb der Prozedur ungültig.

Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting.FileSystemObject")

und zwar an der Set Stelle.

Ich habe keine Ahnung von VBA und habe mal die Datein unter

www.westfalenliga.de/dateien.rar hochgeladen.
Die Dateien liegen bei mir im Verzeichnis C:\Liga 2006\Teamkarten

Gruß Markus
Stefan764
Stefan764 09.01.2007 um 11:03:26 Uhr
Goto Top
Hallo,

Da mußt du natürlich noch eine Procedur-Definition drumbauen.

Etwa so :

Private Sub CommandButton1_Click()
Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting.FileSystemObject")  
Set f = fs.GetFolder("C:\Liga 2006\Teamkarten\")  
Set fc = f.Files

Dim a, b

a = 1    '  < hier war auch noch ein Fehler  

For Each f1 In fc
    
  Workbooks.Open "C:\Liga 2006\Teamkarten\" & f1.Name  

  Dim Ziel, Quelle As Worksheet

  Set Ziel = Workbooks.Item(1).Worksheets(1)
  Set Quelle = Workbooks.Item(2).Worksheets(1)

  b = 0
  
  While Quelle.Cells(b + 9, 1) <> ""  
    
    Ziel.Cells(a, 1) = Quelle.Cells(3, 2)
    Ziel.Cells(a, 2) = Quelle.Cells(b + 9, 1)
    Ziel.Cells(a, 3) = Quelle.Cells(b + 9, 3)
    Ziel.Cells(a, 4) = Quelle.Cells(b + 9, 5)
    b = b + 1
    a = a + 1
    
  Wend

  Set Ziel = Nothing
  Set Quelle = Nothing

  Workbooks.Item(2).Close (False)

Next
End Sub

mfG
Stefan
Magoo2000
Magoo2000 09.01.2007 um 11:59:19 Uhr
Goto Top
Genau das ist es

Danke für die schnelle und kompetente Hilfe
erasor001
erasor001 12.02.2007 um 18:35:37 Uhr
Goto Top
Hallo,
benötige auch in der Art eine Auswertung.
Könnte mir jemand die Fertige Datei(en) zukommen lassen damit ich es "nur" auf meine Bedürfnisse abändern muß. Kenn mich leider für die Erstellung zu wenig aus. Danke schon mal.
mfg
e-Mail volker@lehmann-on.net