Aktualisierung von Dateien in VBA
26.02.2004 16:54:15
Torsten K.
in einer Datei habe ich einen Button, mit dem ich vorgelagerte Dateien aktualisieren kann (wahrscheinlich nicht sehr elegant; aber es läuft):
Private Sub cmb_UPDATE_Click()
If MsgBox("Sollen die vorgelagerten Dateien jetzt aktualisiert werden?", vbYesNo) = vbYes Then
Application.ScreenUpdating = False
Application.StatusBar = "Dieser Vorgang dauert einen Moment..."
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"E:\GWS\Moabschl\2004\Kostenkontrolle\01_2004\ZW_SUM_BS.xls", UpdateLinks:=3
ActiveWorkbook.Save
ActiveWorkbook.Close
Workbooks.Open Filename:= _
"E:\GWS\Moabschl\2004\Kostenkontrolle\01_2004\ZW_SUM_PM.xls", UpdateLinks:=3
ActiveWorkbook.Save
ActiveWorkbook.Close
Workbooks.Open Filename:= _
"E:\GWS\Moabschl\2004\Kostenkontrolle\01_2004\ZW_SUM_MARK.xls", UpdateLinks:=3
ActiveWorkbook.Save
ActiveWorkbook.Close
Workbooks.Open Filename:= _
"E:\GWS\Moabschl\2004\Kostenkontrolle\01_2004\SUM_110.xls", UpdateLinks:=3
ActiveWorkbook.Save
ActiveWorkbook.Close
Workbooks.Open Filename:= _
"E:\GWS\Moabschl\2004\Kostenkontrolle\01_2004\SUM_112.xls", UpdateLinks:=3
ActiveWorkbook.Save
ActiveWorkbook.Close
MsgBox "Dateien wurden aktualisiert", vbOKOnly
Application.DisplayAlerts = True
Application.StatusBar = False
Application.ScreenUpdating = True
Else
End If
End Sub
Im nächsten Monat ändert sich allerdings der Ordner "01_2004" in "02_2004" und ich möchte eigentlich nicht jedesmal im Code selber die Änderung vornehmen müssen. Ich habe mir überlegt, die Verzeichnisangabe in meiner Exceldatei zu hinterlegen (=Info("Verzeichnis")) und so zu bearbeiten (mit (=Rechts(...)), daß nur noch der Ordnername "01_2004" im Range "C3" des Worksheets ("Übersicht Total") steht. Wie kann ich denn nun diese Info so in den Code einbauen, daß die Verzeichnisangabe sich automtatisch im Code ändert, wenn ich die Datei in den Ordner des nächsten Monats kopiere?
(Ich hoffe, ich habe mich verständlich ausgedrückt) :-)
Abschließend noch eine weitere Frage: Trotz des Application.Screenupdating-Befehls flackert der Bildschirm. Ist das normal?
Vielen Dank für Eure Hilfe im voraus.
Gruß
Torsten