Wir haben eine sehr umfangreiche Datei mit Formeln und auch einer Datenbankanbindung. Unsere Excelformeln und somit die Rechenwege sollen erhalten bleiben, aber die Formeln der Datenbank sollen "hart" kopiert werden, damit auch andere Anwender mit der Datei arbeiten können. Hierzu haben wir ein entsprechendes Makro zur Verfügung gestellt bekommen (funktioniert, dauert aber recht lange - kann sicher optimiert werden).
Unser Problem ist nun, dass wir allen Registerblätter eigentlich mit einem Passwort versehen wollen (Gefahr ist zu groß, dass etwas zerstört wird). Ist aber der Schutz aktiv, funktioniert das Makro nicht mehr. Kann man hier das Aufheben des Blattschutzes nicht mit einarbeiten?
Sub Wertkopie_Datenbank()
Dim Z, Bl
Dim Alle
Calculate
Alle = MsgBox("Sollen alle Blätter kopiert werden?", vbYesNo, "DB -Kopie")
If Alle = vbYes Then
For Each Bl In Sheets
Call DB(Bl)
Next
Else
Set Bl = ActiveSheet
Call DB(Bl)
End If
Calculate
MsgBox ("Alle DB-Funktionen wurden kopiert")
End Sub
Private Sub DB(Bl)
Dim Z
On Error Resume Next
For Each Z In Bl.Cells.SpecialCells(xlCellTypeFormulas)
Select Case Left(Z.Formula, 4)
Case "=DBR", "=DBRA" , "WENN(DBRW", "=DBS", "=SUB", "=VIE", "=DIM"
Z.Value = Z.Value
End Select
Next Z
End Sub