in einer UpDate-Datei habe ich in einem WS("FILES") eine Auflistung von Dateien,
in denen ich grün unterlegte Eingabefelder (Interior.ColorIndex = 35) über das Makro sperren möchte.
Das Makro zum Sperren der Eingabefelder funktioniert in der jeweileigen Einzeldatei einwandfrei, wenn ich es aber verknüpfen möchte mit der Auflistung, die abgearbeitet werden soll, läuft's nicht mehr:
Private Sub cmb_Prot_Click()
If MsgBox("Sollen die Eingabefelder jetzt gesperrt werden?", vbYesNo) = vbYes Then
Dim v As Integer
Dim irow As Integer
Dim wbName As String
'Dim wbName2 As String
Dim ws
Dim Arr As Integer
Dim i As Integer
Dim ZE As Object
On Error GoTo errHandler
Application.ScreenUpdating = False
Application.StatusBar = "Dieser Vorgang dauert ein paar Minuten. Bitte Geduld haben..."
Application.DisplayAlerts = False
Application.EnableEvents = False
For v = 1 To Sheets("FILES").Cells(Rows.Count, 1).End(xlUp).Row
wbName = Sheets("FILES").Cells(v, 1)
Workbooks.Open wbName, 3
Arr = Array("ESTUSP", "ESTTP", "BUUSP", "BUTP", "FCUSP", "FCTP")
For i = LBound(Arr, 1) To UBound(Arr, 1)
Sheets(Arr(i)).Unprotect password:="Kennwort"
Next i
For Each ws In Arr
Worksheets(ws).Activate
For Each ZE In ActiveSheet.UsedRange.Cells
If ZE.Interior.ColorIndex = 35 Then
ZE.Locked = True
End If
Next ZE
Next ws
Arr = Array("ESTUSP", "ESTTP", "BUUSP", "BUTP", "FCUSP", "FCTP")
For i = LBound(Arr, 1) To UBound(Arr, 1)
Sheets(Arr(i)).Protect password:="Kennwort"
Next i
ActiveWorkbook.Save
ActiveWorkbook.Close , True
Next v
Application.DisplayAlerts = True
Application.StatusBar = False
Application.EnableEvents = True
MsgBox "Die Eingabefelder wurden gesperrt", vbOKOnly
Application.ScreenUpdating = True
Else
End If
Exit Sub
errHandler:
Application.DisplayAlerts = True
Application.StatusBar = False
Application.EnableEvents = True
MsgBox "Beim Update der Datei" & vbCr & wbName & vbCr & _
"ist ein Fehler aufgetreten!", vbCritical + vbOKOnly, "ABBRUCH!"
'ActiveWorkbook.Close , True
End Sub
Excel bleibt dann leider in der Zeile:
"...For i = LBound(Arr, 1) To UBound(Arr, 1)... hängen mit der Meldung:
"Fehler beim Kompilieren: Erwartet Datenfeld"
Kann mir jemand hier weiterhelfen?
Vielen Dank für Eure Hilfe.
Gruß
Torsten