03.03.2018, 20:07
Hallo ihr fleißigen Helfer. Durch googlen habe ich einen VBA-Code der es mir ermöglicht eine gesamten Arbeitsmappe zu durchsuchen.
Nun habe ich festgestellt, dass ich dieses Makro nicht in einer geschützten Datei ausführen lässt. Also was macht der hilflose Anwender
. Er googelt erneut und findet die Hilfe ich soll folgendes machen:
ActiveSheet.Unprotect Password:="Test""
Mein Makro
ActiveSheet.Protect Password:="Test"
Gemacht getan mein Makro sieht dann so aus:
Option Explicit
Public strSuch As String
ActiveSheet.Unprotect Password:="Test""
Sub Suchen_alle_Tabellen()
Dim wks As Worksheet
Dim rng As Range
Dim strAddress As String, strFind As String
Dim oldColor As Integer
strFind = InputBox("Bitte Suchbegriff eingeben:", Application.UserName, strSuch)
If strFind = "" Then Exit Sub
For Each wks In Worksheets
Set rng = wks.Cells.Find(strFind, lookat:=xlPart, LookIn:=xlFormulas)
If Not rng Is Nothing Then
strAddress = rng.Address
Do
Application.GoTo rng, False
oldColor = rng.Interior.ColorIndex
rng.Interior.ColorIndex = 55
If MsgBox("Weiter", vbYesNo + vbQuestion) = vbNo Then GoTo Aufraeumen
rng.Interior.ColorIndex = oldColor
Set rng = Cells.FindNext(After:=ActiveCell)
If rng.Address = strAddress Then Exit Do
Loop
End If
Next wks
strSuch = strFind
MsgBox "Keine weiteren Fundstellen!", False, Application.UserName
Exit Sub
Aufraeumen:
rng.Interior.ColorIndex = oldColor
ActiveSheet.Protect Password:="Test"
End Sub
Soweit so gut. Das funktioniert leider aber nur halb.
1.) Der Blattschutz wird entfernt
2.) Das Makro wird ausgeführt und dann wird der Blattschutz leider nicht wieder aktiviert
Was ist falsch bei diesem Code/Vorgehen ??
Bitte helft einem Laien..........
Danke
Nun habe ich festgestellt, dass ich dieses Makro nicht in einer geschützten Datei ausführen lässt. Also was macht der hilflose Anwender

ActiveSheet.Unprotect Password:="Test""
Mein Makro
ActiveSheet.Protect Password:="Test"
Gemacht getan mein Makro sieht dann so aus:
Option Explicit
Public strSuch As String
ActiveSheet.Unprotect Password:="Test""
Sub Suchen_alle_Tabellen()
Dim wks As Worksheet
Dim rng As Range
Dim strAddress As String, strFind As String
Dim oldColor As Integer
strFind = InputBox("Bitte Suchbegriff eingeben:", Application.UserName, strSuch)
If strFind = "" Then Exit Sub
For Each wks In Worksheets
Set rng = wks.Cells.Find(strFind, lookat:=xlPart, LookIn:=xlFormulas)
If Not rng Is Nothing Then
strAddress = rng.Address
Do
Application.GoTo rng, False
oldColor = rng.Interior.ColorIndex
rng.Interior.ColorIndex = 55
If MsgBox("Weiter", vbYesNo + vbQuestion) = vbNo Then GoTo Aufraeumen
rng.Interior.ColorIndex = oldColor
Set rng = Cells.FindNext(After:=ActiveCell)
If rng.Address = strAddress Then Exit Do
Loop
End If
Next wks
strSuch = strFind
MsgBox "Keine weiteren Fundstellen!", False, Application.UserName
Exit Sub
Aufraeumen:
rng.Interior.ColorIndex = oldColor
ActiveSheet.Protect Password:="Test"
End Sub
Soweit so gut. Das funktioniert leider aber nur halb.
1.) Der Blattschutz wird entfernt
2.) Das Makro wird ausgeführt und dann wird der Blattschutz leider nicht wieder aktiviert
Was ist falsch bei diesem Code/Vorgehen ??
Bitte helft einem Laien..........
Danke