Suche Tabellenblätter: Laufzeitfehler
19.05.2021 18:33:12
Dirk
ich habe eine zentrale Suchfunktion mithilfe eines Makros über mehrere Tabellenblätter. Bei einem Treffer wird die Zelle farblich unterlegt. Da mehrere User gleichzeitig auf die Datei zugreifen, habe ich eigentlich einen Blattschutz eingerichtet für alle Tabellenblätter, damit es nicht versehentlich zu Änderungen/Löschungen kommt. Leider funktioniert mit Blattschutz logischerweise die farbliche Markierung eines Suchtreffers nicht und es kommt zu einem Laufzeitfehler. Gibt es eine Lösung, das ich das Suchmakro vollumfänglich nutzen kann und trotzdem den Blattschutz aktiv habe? Nachfolgend das Suchmakro und mein Blattschutz Makro zum ein- und ausschalten:
Sub MultiSuche()
Dim Sh As Worksheet
Dim GZelle As Range, AFarbe As Long
Dim FStelle$
Dim SBegriff
SBegriff = InputBox("Bitte Suchbegriff eingeben:")
For Each Sh In Worksheets
Sh.Activate
Set GZelle = Sh.Cells.Find(SBegriff)
If Not GZelle Is Nothing Then
FStelle = GZelle.Address
Do
If GZelle.Interior.ColorIndex xlNone Then AFarbe = GZelle.Interior.Color
GZelle.Activate
GZelle.Interior.Color = RGB(255, 0, 0)
If MsgBox("Weiter", vbYesNo + vbQuestion) = vbNo Then
If AFarbe = 0 Then GZelle.Interior.ColorIndex = xlNone Else GZelle.Interior.Color = AFarbe
Exit Sub
End If
If AFarbe = 0 Then GZelle.Interior.ColorIndex = xlNone Else GZelle.Interior.Color = AFarbe
Set GZelle = Cells.FindNext(after:=ActiveCell)
If GZelle.Address = FStelle Then Exit Do
Loop
End If
Next Sh
End Sub
Sub BlattSchutzEin()
Dim i As Integer
For i = 1 To Worksheets.Count
Sheets(i).Protect "garfield"
Next i
End Sub
Sub BlattSchutzAus()
Dim i As Integer
For i = 1 To Worksheets.Count
Sheets(i).Unprotect "garfield"
Next i
End
Sub