online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Karma vom 30.10.2020, 17:07 Options

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

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 schreiben

Antwort 1 von nighty vom 30.10.2020, 17:56 Options

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 vom 30.10.2020, 18:01 Options

hi all

noch kleiner fehler drin mom

gruss nighty

Antwort 3 von rolandaa vom 30.10.2020, 18:02 Options

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 vom 30.10.2020, 18:24 Options

hi rolandaa :-)

das waere gemein wenn sie mappe* heissen wuerden grrrr

gruss nighty

Antwort 5 von nighty vom 30.10.2020, 19:19 Options

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

Ähnliche Themen

Erstellung einer Grafik via Makro
Grafikmakro  04.09.2007 - 39 Hits - 6 Antworten

via Makro Arbeitsmappen verknüpfen
Günter03  30.08.2007 - 33 Hits - 2 Antworten

Datei über Makro öffnen & Werte aus geöffneter Datei kopieren
Mini249  19.11.2007 - 210 Hits - 2 Antworten

geschützte excel datei mit makro öffnen
Scotch  29.05.2008 - 382 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026