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

Formeln in mehreren Dateien per Batch schützen

Formeln in mehreren Dateien per Batch schützen
31.01.2008 09:07:57
Bernd
Hallo zusammen,
Ich möchte gerne bei mehreren Excel-Dateien per Batch alle Formeln vor Veränderungen schützen, dass Passwort darf gerne identisch sein. Die Dateien befinden sich in unterschiedlichen Verzeichnisse, die exakten Dateipfade liegen mir vor. Schön wäre es, wenn man flexibel die zu schützenden Dateien bzw. auch ganze Verzeichnisse mit einer Art Dateiexplorer auswählen könnte.
Zusatzfrage: Ich würde gere auch bestimmte Zellbereiche in diesen Dateien (immer der identische Bereich), die sich innerhalb der Dateien immer auf dem 2. Registerblatt befinden, gerne ebenfalls per Batch mit bestimmten Eigenschaften versehen z.B. Hintergrundfarbe "Grün". Ist das auch möglich?
Gruß
Bernd

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formeln in mehreren Dateien per Batch schützen
31.01.2008 23:33:00
fcs
Hallo Bernd,
hier ein Beispiel. Der angezeigte Dateiauswahl-Dialog erlaubt auch Mehrfachselektion.
Das Password im Code für den Blattschutz, und den zu formatierenden Bereich im Blatt 2 muss du noch anpassen bzw. weitere Bereiche ergänzen.
Gruß
Franz

Sub aaTest()
Dim wb As Workbook, wks As Worksheet, Dateiliste As Variant
Dim iI As Integer, Zelle As Range
Dateiliste = Application.GetOpenFilename(Filefilter:="Excelfiles(*.xls),*.xls", _
Title:="Bitte gewünschte Exeldateien markieren und öffnen", MultiSelect:=True)
If IsArray(Dateiliste) Then
For iI = LBound(Dateiliste) To UBound(Dateiliste)
Set wb = Workbooks.Open(FileName:=Dateiliste(iI))
Application.ScreenUpdating=False
For Each wks In wb.Worksheets
wks.Unprotect Password:="TestPasswort"
For Each Zelle In wks.UsedRange
If Zelle.HasFormula = True Then
Zelle.Locked = True
Else
Zelle.Locked = False
End If
Next
If wks.Index = 2 Then
'Formatierungen im 2. Tabellenblatt
wks.Range("C2:F32").Interior.ColorIndex = 4
End If
wks.Protect Password:="TestPasswort"
Next
Application.ScreenUpdating = True
wb.Save
wb.Close
Next
Else
'Abbrechen wurde gewählt
Exit Sub
End If
End Sub


Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige