Einlesen von Daten aus verschiedenen Dateien

Jaybox

Grünschnabel
Hallo,

ich möchte gerne aus mehreren Excel-Dateien Daten auslesen und in eine neue Datei kopieren. Bisher habe ich jeweils folgendes (gekürztes) "Progrämmchen " ablaufen lassen und dann jeweils mit der Ersetzen-Funktion den Namen der Excel-Datei geändert und erneut das Macro laufen lassen.

Dim myXLS As Object
Set myXLS = GetObject("d:\opt100_133.xls")
Windows("opt100_133.xls").Activate
Range("D13:D14").Select
Selection.Copy
Windows("sum_100.xls").Activate
Range ("B3").select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Rows("3:3").Select
Selection.Insert Shift:=xlDown
Windows("opt100_133.xls").Activate
ActiveWindow.Close (False)
End Sub

Meine Frage: Lässt sich dieser Vorgang vielleicht mit einer Schleife automatisieren? Die einzulesenden Excel-Dateien (hier:opt100_133.xls) haben am Ende eine fortlaufende Nummer, d.h. die nächste zu öffnende Datei heisst dann opt100_134.xls usw...Die Daten in den Excel-Dateien stehen immer an der selben Stelle.

Hat jemand eine Idee? Ich bin leider kein VB-Profi!

Gruss

Jörg
 
Also so etwas ähnliches hatte ich auch mit mehreren Excel-Tabellen.

Dim a AS Integer
a = 1

Do While Not a = 8
// Hier muss dann der gewünschte Text rein.
a = a + 1
// Hier wird der Zähler hochgesetzt
Loop

Ich hab leider keine Ahnung ob man den String des Dateinamens erweitern kann.
Dafür bräuchtest Du dann einen weiteren Zähler der dann jedesmal an die Datei angehängt wird.

Edit:
Habs mal getestet:

Dim a AS Integer
a = 1
Dim j As String

Do While Not a = 8

j = a + 1
Workbooks.Open Filename:="U:\excel\Einstein" + j + ".xls"

a = a + 1
Loop
End Sub

Das müsste auch mit Deinen Dateinamen gehen.

Gibt mit Sicherheit noch bessere Lösungswege, aber der hier reiht ja fürs erste. :D
 
Zuletzt bearbeitet:
Dann kannst Du mir vielleicht gleich noch mal helfen :) Ich habe beim Öffnen der Excel-Dateien das Problem, dass ich diese nicht aus Excel heraus öffnen kann, da in diesem Fall, die Formate der Zellen nicht richtig dargestellt werden. Beim anschließenden Kopiervorgang werden die falschen Formate natürlich übernommen. Öffne ich dagegen die Excel-Dateien aus dem Explorer heraus, sind alle Formate korrekt. Frag mich nicht, wieso das so ist, keine Ahnung.

Gibt es dafür einen anderen Befehl zum Öffnen der Dateien als Workbooks.Open Filename:...?

Gruss

Joerg
 
Ich wüsste jetzt keine Alternative...

Du musst wohl die Felder nach dem einfügen so formatieren wie Du es selber haben willst. Oder vielleicht auch schon vorher. :-)

Was für Formatierungen werden denn verworfen?
 
Die Formate basieren auf der amerikanischen Ländereinstellung, also Punkte als Dezimalzeichen. Nun könnte ich jedes mal die Ländereinstellung ändern, aber elegant ist das auch nicht gerade. Besser wäre ein Befehl, mit dem ich die Excel-Dateien aus dem Explorer öffne, da dann automatisch die Dateien mit deutscher Ländereinstellung geladen werden und alle Formate korrekt sind.
 
Hmm...

Hab leider im Moment auch keine Idee wie man das ändern könnte...

Vielleicht hat ja sonst jemand eine Idee.

Wenn mir was einfällt lasse ich es Dich wissen. :)
 

Neue Beiträge

Zurück