Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
492to496
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

UpDate von Dateien

UpDate von Dateien
30.09.2004 13:53:51
Torsten K.
Hallo beisammen,
in einem WS("FILES") habe ich den Pfad und den Namen mehrerer Exceldateien.
Über einen Button in einem anderen WS("START") kann ich mit Hilfe des Codes
die o.g. Dateien aufrufen und aktualisieren:

Private Sub cmb_UpDate_Click()
If MsgBox("Sollen die Umsatzdateien jetzt aktualisiert werden?", vbYesNo) = vbYes Then
Dim i As Integer
Dim irow As Integer
Dim wbName As String
Dim wbName2 As String
On Error GoTo errHandler
With Application
.ScreenUpdating = False
.StatusBar = "Dieser Vorgang dauert ein paar Minuten. Bitte Geduld haben..."
.DisplayAlerts = False
.EnableEvents = False
End With
For i = 1 To Sheets("FILES").Range("A1").End(xlDown).Row
wbName = Sheets("FILES").Cells(i, 1)
Workbooks.Open wbName, 3
ActiveWorkbook.Save
ActiveWorkbook.Close , True
Next i
With Application
.DisplayAlerts = True
.StatusBar = False
.EnableEvents = True
.ScreenUpdating = True
End With
MsgBox "Dateien wurden aktualisiert", vbOKOnly
Else
End If
Exit Sub
errHandler:
With Application
.DisplayAlerts = True
.StatusBar = False
.EnableEvents = True
End With
MsgBox "Beim Update der Datei" & vbCr & wbName & vbCr & _
"ist ein Fehler aufgetreten!", vbCritical + vbOKOnly, "ABBRUCH!"
'ActiveWorkbook.Close , True
End Sub

(Code mit Hilfe des Forums erarbeitet)
Merkwürdigerweise kommt es aber dann zu einem Fehler, wenn in dem WS("FILES") nur eine Datei mit Pfadangabe enthalten ist:
Fehlermeldung: Überlauf
und Excel markiert die Zeile:
For i = 1 To Sheets("FILES").Range("A1").End(xlDown).Row
Wie muß denn der Code geändert werden, sodaß das Makro auch dann durchläuft, wenn nur eine Eintrag vorhanden ist? Könnt Ihr mir helfen?
Vielen Dank im voraus.
Gruß
Torsten

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UpDate von Dateien
30.09.2004 13:59:33
Ulf
Weil dann bis A65536 nach untengegangen wird! Zeilen immer as Long deklarieren.
Dim i As Long
Dim irow As Long
Ulf
AW: UpDate von Dateien
30.09.2004 14:19:37
Torsten K.
Hallo Ulf,
schönen Dank für Deine Rückmeldung.
Dein Hinweis ist sicher richtig (ein blöder Fehler, denn den habe ich schon mal gemacht),
aber der Code läuft immer noch nur dann durch, wenn ich mehr als 1 Eintrag im WS("FILES") habe. Hast Du noch eine andere Idee?
(Excel gibt den Hinweis, das die Datei nicht gefunden wurde, obwohl ich genau erkennen kann, daß Excel sie öffnet und auch speichert. Wenn ich die gleiche Datei 2 mal in das WS("FILES") eintrage läuft's problemlos durch)
Gruß
Torsten
Anzeige
AW: UpDate von Dateien
30.09.2004 14:30:21
Ulf
Wenn du von A1 abwärts suchst, darf der 1. Eintrag erst in A2 stehen, bei dir:
wbName = Sheets("FILES").Cells(i, 1)
Ulf
AW: UpDate von Dateien
30.09.2004 15:04:48
Torsten K.
Hallo Ulf,
im Augenblick versteh' ich überhaupt nichts mehr.
Wenn ich die Zelle A1 leer lasse und den 1. Eintrag in Zelle A2 vornehme, kommt sofort die Fehlermeldung (...Datei nicht gefunden...).
Wenn ich den Code umstelle ("wbName = Sheets("FILES").Cells(i + 1, 1)", um erst bei Zeile 2 zu beginnen, öffnet Excel zunächst die zu aktualisierende Datei und bricht dann später mit der gleichen Fehlermeldung ab.
Was muß ich denn noch ändern, damit das ganze funktioniert?
Gruß
Torsten
Anzeige
AW: UpDate von Dateien
30.09.2004 15:16:05
Ulf
wbName = Sheets("FILES").[a1].end(xldown)
wenn die Dateien in A2 beginnen.
Ulf
AW: UpDate von Dateien
30.09.2004 15:29:30
Torsten K.
Hallo Ulf,
prima, das paßt jetzt.
Frage aber: Wie muß das aussehen, wenn ich den Beginn bei Zelle A1 beibehalten möchte?
Ich hoffe, ich bin jetzt nicht lästig, aber das wäre mir noch wichtig.
Bis hierin schon einmal vielen Dank.
Gruß
Torsten
AW: UpDate von Dateien
30.09.2004 15:37:08
Ulf
For i = 1 To Sheets("FILES").cells(rows.count,1).End(xlUp).Row
wbName = Sheets("FILES").Cells(i,1)
Die Dateinamen müssen lücken los sein oder mit On Error übergehen(nicht empfohlen).
Ulf
AW: erledigt - mT
30.09.2004 15:46:17
Torsten K.
Hallo Ulf,
bestens!
Vielen Dank für Deine Hilfe (und Geduld :-) )
Gruß
Torsten
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige