Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
500to504
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
500to504
500to504
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

UpDate von Dateien über Makro

UpDate von Dateien über Makro
18.10.2004 19:59:24
Dateien
Hallo beisammen,
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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UpDate von Dateien über Makro
19.10.2004 01:02:01
Dateien
Hallo Torsten,
ein Array ist ein Variant-Typ, also
Dim Arr As Variant
Gruß Uwe
AW: erledigt - m.T.
Torsten
Hallo Uwe,
Teufel, Teufel darauf bin ich schon mal reingefallen. :-(
Vielen Dank für Deinen Hinweis.
Gruß
Torsten
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige