Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Wie kann ich mehrere "fast" gleichlautende Dateien nacheinander via einem Makro öffnen ? Datei heissen xxx1 xxx2 xxx3 xxx4 usw...





Frage

Hallo, ich möchte ein Makro schreiben mit welchem ich nacheinander 100 Dateien öffne, etwas bearbeiten lasse (das ist nicht das Prob) und sie nach der Bearbeitung wieder speicher und schliesse. Das eiegntliche Prob ist das alle Datein denselben Namen tragen nur mit einer Nummerierung. Also xxx 1 dann xxx2 xxx3 usw. bis 100. Ergo müsste ich im Dateinamen einen Zähler einbauen (also die zu öffnende) im Makro das eben immer die nächste Datei geöffnet wird. Wie kriege ich das hin ?

Antwort 1 von nighty

hi all :-)

ein beispiel

gruss nighty

Option Explicit
Sub DateienLesen()
On Error GoTo fehlerbehandlung
Call EventsOff
Dim DateiName As String
Dim zaehler As Integer
Dim Ansage As String
DateiName = Dir("C:\Temp\" & "*.xls")
For zaehler = 1 To 100
If ThisWorkbook.Name <> DateiName Then
Workbooks.Open Filename:="C:\Temp\" & Mid(DateiName, 1, Len(DateiName) - CStr(Len(zaehler)) & CStr(zaehler))
Rem hier waere dann dein code zur weiteren verarbeitung bzw aufruf eines makros ,wie z.b. Call MeinMakro
Workbooks(DateiName).Save
Workbooks(DateiName).Close
End If
DateiName = Dir
Next zaehler
Call EventsOn
End
fehlerbehandlung:
If Err = 5 Then
Ansage = MsgBox("Die Datei " & "*" & CStr(zaehler) & ".xls ist nicht vorhanden,weiter ?", vbYesNo)
If Ansage = vbYes Then
Resume Next
Else
Call EventsOn
End
End If
Else
Err.Raise 5
End If
End Sub
Public Sub EventsOff()
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
End Sub
Public Sub EventsOn()
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub


Antwort 2 von nighty

hi all

noch kleiner fehler drin mom

gruss nighty

Antwort 3 von rolandaa

hallo karma,

versuch folgendes:

Sub Makro1()
Dim i As Integer
i = 1
Do
Workbooks.Open Filename:= _
"C:\Dokumente und Einstellungen\test\Eigene Dateien\Mappe" & i & ".xls"
'Anwendung
i = i + 1
Loop Until i = 101
End Sub

gruß
rolandaa

Antwort 4 von nighty

hi rolandaa :-)

das waere gemein wenn sie mappe* heissen wuerden grrrr

gruss nighty

Antwort 5 von nighty

hi rolandaa :-)

ich wart erstmal ab jetzt

bin ja von unterschiedlichen dateinamen ausgegangen
hinzu kommt das excel 7 die filesearchmethode nicht mehr unterstuetzt,haette aber jetzt eine neue idee falls es so sein sollte,na mal schauen :-))

gruss nighty

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: