Forums Neueste Beiträge
 

Ordner abarbeiten

12/01/2008 - 17:44 von proggen | Report spam
Hallo. Folgendes schwebt mir vor:

Ich möchte mittels FileChooser ein Ordner auswàhlen, der unbekannt
viele xls-Dateien enthàlt. Also keine, bis n-viele.
Nun möchte ich aus jeder dieser Datei bestimmte, gleich bleibende
(Spalten konstant, Zeilen variabel) , Spalten kopieren und sie in
einem neu generiertem Worksheet übernehmen, so daß das neue Dokument
alle Informationen der n-vielen xls-Dateien untereinander aufgelistet
beinhaltet.

Existiert sowas schon bereits irgendwo? Komme eigentlich aus der Java-
Ecke und hatte sogar überlegt es in Java zu lösen, aber ich denke das
VBA schon geeigneter dafür wàre, da ich mich ja mit Excel in der
gleichen Umgebung befinde, wie VB auch.

Bin für jeden Tip dankbar.

Simone
 

Lesen sie die antworten

#1 stefan onken
12/01/2008 - 18:32 | Warnen spam
wrote:
Hallo. Folgendes schwebt mir vor:

Ich möchte mittels FileChooser ein Ordner auswàhlen, der
unbekannt viele xls-Dateien enthàlt. Also keine, bis n-viele.
Nun möchte ich aus jeder dieser Datei bestimmte, gleich
bleibende (Spalten konstant, Zeilen variabel) , Spalten
kopieren und sie in einem neu generiertem Worksheet
übernehmen, so daß das neue Dokument alle Informationen der
n-vielen xls-Dateien untereinander aufgelistet beinhaltet.

Existiert sowas schon bereits irgendwo? Komme eigentlich aus
der Java- Ecke und hatte sogar überlegt es in Java zu lösen,
aber ich denke das VBA schon geeigneter dafür wàre, da ich
mich ja mit Excel in der gleichen Umgebung befinde, wie VB
auch.

Bin für jeden Tip dankbar.

Simone



hallo Simone,
die Verzeichnisauswahl ist in VBA "ein Problem". Es gibt für Excel
2002/03 einen Dialog zur Verzeichnisauswahl http://tinyurl.com/2rqw66
, der aber mE in Excel2007 nicht mehr funktioniert. Um
versionsunabhàngig zu sein, musst du API verwenden
http://tinyurl.com/2qsh2o . Der Code zum kopieren der Daten ist dann
bei beiden Varianten etwa

Dateiname = Dir(Verzeichnis & "*.xls")
Do While Dateiname <> ""
Workbooks.Open Verzeichnis & Dateiname
With ThisWorkbook.ActiveSheet
lastrow = .Cells(Rows.Count,"A").End(xlUp).Row + 1
Activesheet.UsedRange.Copy _
Destination:= .Range("A"& lastrow)
End With
ActiveWorkbook.Close False
Dateiname = Dir()
Loop

Es gàbe noch die Möglichkeit, den Datei/öffnen-Dialog anzeigen mit der
Option, alle zu öffnenden Dateien gleichzeitig markieren zu können, um
diese dann nacheinander abzuarbeiten http://tinyurl.com/2nz39c

Gruß
stefan

Ähnliche fragen