ich habe ein Programm zum Importieren von Daten per VBA geschrieben. Dabei wird vorher automatisch ein Kopie der Excel-Datei als Sicherung gespeichert. Nun möchte ich gerne, dass ich per VBA die Sicherung auswählen kann und damit die geöffnete Datei ersetze. Folgenden, unten stehenden VBA-Code habe mir schon erstellt: Dabei wird per FileDialog die einzulesende Datei ausgewählt. Diese kopiere ich mir in den Ordner der Import-Excel-Datei. Die geöffnete Datei wird gelöscht und die vorher kopierte Sicherungsdatei umbenannt zur "richtigen" Datei. Was mir nun noch fehlt ist, dass die kopierte und umbenannte Datei geöffnet wird, aber dies bekomme ich nicht hin. Entweder stehe ich auf dem Schlauch oder ich bin zu doof. Würde mich freuen, wenn hier jemand einen Lösungsvorschlag für mich hätte. Der Code unten funktioniert soweit, nur Code zum Öffnen der Datei fehlt noch.
Gruß Borstii
Sub SicherungEinspielen()
' Fehlermeldung
On Error GoTo FEHLER
' Sicherungspfad einstellen
strQuelle = ThisWorkbook.Path & "\Sicherung"
' Sicherungsdatei auswählen
With Application.FileDialog(msoFileDialogFilePicker)
With .Filters
.Clear
.Add "Excel-Dateien (*.xlsm)", "*.xlsm", 1
End With
.InitialFileName = strQuelle
.InitialView = msoFileDialogViewDetails
.Title = "Sicherung einlesen"
.AllowMultiSelect = False
.ButtonName = "Auswahl"
If .Show = -1 Then
strDatei = .SelectedItems(1)
Else
MsgBox "Keine Datei ausgewählt!", vbExclamation, FEHLER
Exit Sub
End If
End With
' Datei löschen und Sicherung einlesen
With ThisWorkbook
strNeu = .Path & SAISON
strBackUp = .Path & "\" & Dir(strDatei)
FileCopy strDatei, strBackUp
Unload Uf_Info
.Save
'.Saved = True
.ChangeFileAccess xlReadOnly
Kill .FullName
Name strBackUp As strNeu
.Close False
End With
Exit Sub
Fehlermeldung
FEHLER:
Call Fehlermeldung
End Sub