Guten Morgen ihr lieben,
ich habe folgendes Marko, welches Daten in eine Backupdatei sichert, dieses verwende ich aber in mehreren Dateien.
Nun tritt leider ein Fehler auf, wenn zufällig zwei Nutzer zeitgleich das Makro (in unterschiedlichen Dateien) verwenden oder die Backupdatei geöffnet ist.
Wie baue ich darin eine abfrage ein, welches vorher prüft ob die Backupdatei geöffnet ist? Sollte dies der fall sein, soll eine VBA-Warnung kommen, der Debuggen-Fehler umgangen werden und das Makro beenden (exit Sub).
Sub Backup()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim Pfad As String
Dim urdatei
Set urdatei = ThisWorkbook
Dim Artikel As String
Dim Artikelnr As String
Dim Zeichnungsnummer As String
Dim Maschine As String
Dim FAAnr As String
Dim Bearbeitung As String
Dim Datum As String
Datum = ActiveSheet.Range("A7")
Bearbeitung = ActiveSheet.Range("E7")
FAAnr = ActiveSheet.Range("B7")
Maschine = ActiveSheet.Range("F7")
Zeichnungsnummer = ActiveSheet.Range("C7")
Artikelnr = ActiveSheet.Range("Artikelnummer")
Artikel = ActiveSheet.Range("Artikelbezeichnung")
'Pfad Anpassen!
Workbooks.Open Filename:= _
"K:\Logbuch\_TEMP\Backup.xlsx"
With ActiveSheet
.Unprotect Password:=Passwort
End With
Rows("2:2").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveSheet.Range("A2") = Datum
ActiveSheet.Range("F2") = Bearbeitung
ActiveSheet.Range("C2") = FAAnr
ActiveSheet.Range("E2") = Maschine
ActiveSheet.Range("D2") = Zeichnungsnummer
ActiveSheet.Range("G2") = Artikelnr
ActiveSheet.Range("B2") = Artikel
With ActiveSheet
.Protect Password:=Passwort
End With
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Vielen Dank im voraus! :)