AW: Aus vielen Arbeitsmappen Daten auslesen
04.05.2006 22:07:36
Alexander
Hallo Franz,
ich bin es nochmal. Habe es jetzt ausprobiert. Hab nur leider ein Problem.
Pfad alt: D:\alt
Pfad neu: D:\neu
Erweiterung: _bak.xls
Jetzt habe ich 1 Datei (Datei xy.xls)- nicht Passwort geschützt - in den Ordner "alt" gelegt. Und auf "Daten transferieren" geklickt.
Er gibt mir die Fehlermeldung: Kann "Datei xy.xls" nicht finden. Bitte überprüfen sie...
Beim Debuggen markiert er mir die Zeile
Workbooks.Open Dateialt
(siehe unten)
Die Pfade stimmen. Der Dateiname auch.
Was soll ich tun? Bitte helft mir.
Alex
Sub DataTransfer()
'erstellt unter EXCEL 2003
'Transfer von Daten aus bestehenden Dateien in neue Dateien
Dim wksalt As Worksheet, wksneu As Worksheet
Dim wbalt As Workbook, wbneu As Workbook, Dateialt
Dim DateiEnde As String, DateiNeu As String
Dim pfadneu As String, pfadalt As String
pfadneu = Application.Range("VerzNeu")
pfadalt = Application.Range("VerzAlt")
DateiEnde = Application.Range("DateiEnde")
Dateialt = Dir(pfadalt & "\*.xls", vbNormal)
Do Until Dateialt = ""
Workbooks.Open Dateialt
' diese Zeile hat er markiert
Set wbalt = ActiveWorkbook
Set wksalt = wbalt.ActiveSheet
DateiNeu = Left(wbalt.Name, Len(wbalt.Name) - 4) & DateiEnde
Workbooks.Add
ActiveWorkbook.SaveAs pfadneu & "\" & DateiNeu
Set wbneu = ActiveWorkbook
Set wksneu = wbneu.Sheets(1)
With wksneu
.Range("A1").Value = wksalt.Range("Label1").Value
.Range("A2:A19").Value = wksalt.Range("C10:C27").Value
.Range("B2:B19").Value = wksalt.Range("E10:E27").Value
.Range("A20").Value = wksalt.Range("E30").Value
.Range("A21").Value = wksalt.Range("E36").Value
.Range("A22").Value = wksalt.Range("E38").Value
.Range("A23").Value = wksalt.Range("G40").Value
.Range("A24").Value = wksalt.Range("E43").Value
.Range("A25").Value = wksalt.Range("I48").Value
End With
wbneu.Close SaveChanges:=True
wbalt.Close SaveChanges:=False
Dateialt = Dir
Loop
End Sub