Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1824to1828
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
Inhaltsverzeichnis

Suchfunktion trotz Blattschutz

Suchfunktion trotz Blattschutz
08.04.2021 14:04:57
Ulrich
Hallo Zusammen,
ich habe eine Frage.
In der Beispieldatei kann ich durch Aufrufen eines Makros über den Button "Dokumente suchen" meine Arbeitsblätter nach einem Suchbegriff durchsuchen.
Dies Funktioniert aber nicht wenn die Arbeitsblätter geschützt sind, dann kommt ein Laufzeitfehler.
Ist es möglich die Suchfunktion trotz Blattschutz zu nutzen?
Danke für eure Hilfe
Gruß Ulli
https://www.herber.de/bbs/user/145393.xlsm

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchfunktion trotz Blattschutz
08.04.2021 14:16:05
Nepumuk
Hallo Ulli,
es bringt keinerlei Vorteile bei der Find-Methode den Bereich zu begrenzen. Es wird sowieso nur im benutzten Bereich gesucht. Also:
    For Each WS In Worksheets
With WS
Set Found = .Cells.Find(What:=s, LookAt:=xlPart, LookIn:=xlValues)
If Not Found Is Nothing Then
boFund = True
firstAddress = Found.Address
Do

Gruß
Nepumuk
AW: Suchfunktion trotz Blattschutz
08.04.2021 14:57:53
Ulrich
Hallo Nepumuk,
ja, so funktioniert es auch trotz Blattschutz.
Die Find Methode war begrenzt, da innerhalb der ersten 20 Zeilen ein möglicher Treffer nicht angezeigt werden sollte, jetzt würde dieser Treffer natürlich angezeigt. (war vorher schön aber nicht zwingend)
Seltsamerweise zeigt er mir jetzt mit dem geänderten Code nur noch einen Treffer an.
Wenn ich in dem Tabellenblatt den Suchbegriff mehrfach habe wird mir nur der erste Treffer gezeigt.
Gruß Ulli
Anzeige
AW: Suchfunktion trotz Blattschutz
08.04.2021 15:06:44
Nepumuk
Hallo Ulli,
kann ich nicht nachvollziehen. Wenn ich in deiner Testmappe nach "u" suchen werden mir 3 Treffer angezeigt.
Ab Zeile 20 einfach so:
    'Suche in allen Blättern
If chk_alles.Value = True Then
For Each WS In Worksheets
With WS
Set raBereich = .Range(.Cells(20, 1), .Cells(.Rows.Count, .Columns.Count))
Set Found = raBereich.Find(What:=s, LookAt:=xlPart, LookIn:=xlValues)
If Not Found Is Nothing Then
boFund = True
firstAddress = Found.Address
Do
ListBox1.AddItem Found
ListBox1.List(I, 1) = .Cells(Found.Row, 1)
ListBox1.List(I, 2) = .Cells(Found.Row, 2)
ListBox1.List(I, 3) = .Cells(Found.Row, 3)
ListBox1.List(I, 4) = .Cells(Found.Row, 4)
ListBox1.List(I, 5) = .Cells(Found.Row, 5)
ListBox1.List(I, 6) = .Cells(Found.Row, 6)
ListBox1.List(I, 7) = .Cells(Found.Row, 7)
ListBox1.List(I, 8) = .Name
ListBox1.List(I, 9) = Found.Row
I = I + 1
Set Found = raBereich.FindNext(Found)
Loop Until Found.Address = firstAddress
End If
End With
Next WS
End If

Gruß
Nepumuk
Anzeige
AW: Suchfunktion trotz Blattschutz
08.04.2021 15:37:23
Ulrich
Hallo Nepumuk,
top, so funktioniert es.
Ich hatte vorher
Set raBereich = .Range(.Cells(20, 1), .Cells(.Rows.Count, .Columns.Count))
nicht mehr im Code stehen.
So geändert klappt es.
Vielen Dank für deine Unterstützung!!
Gruß Ulli
AW: Suchfunktion trotz Blattschutz
08.04.2021 15:06:10
Ulrich
Hallo Nepumuk,
Daniel hatte noch einen Vorschlag gesendet
Set raBereich = .Usedrange.Offset(19, 0)
Damit läuft es.
Danke für deine Unterstützung.
Gruß Ulli
AW: Suchfunktion trotz Blattschutz
08.04.2021 15:36:01
Daniel
wie wäre es mit einem Dankeschön an die Person, deren Beitrag dir auch geholfen hat?
AW: Suchfunktion trotz Blattschutz
08.04.2021 16:03:53
Ulrich
Hallo Daniel,
entschuldige, ich hatte dir direkt geantwortet, da sich die Nachrichten überschnitten hatten, hatte ich das Explorer Fenster noch offen und die Nachricht überschrieben.
Natürlich ganz herzlichen Dank.
Deine Anpassung des Codes funktioniert einwandfrei!
Vielen Dank für deine Unterstützung!!
(Es wäre mir jetzt auch aufgefallen )
Sorry dafür, das war keine Absicht und nicht meine Art.
Gruß Ulli
Anzeige
AW: Suchfunktion trotz Blattschutz
08.04.2021 14:56:45
Daniel
Hi
das Problem ist nicht die Suchfunktion, sondern vermutlich das SpecialCells.
wenn die Suche erst ab Zeile 20 beginnen soll, dann probiere mal:
Set raBereich = .Usedrange.Offset(19, 0)

bzw
Set raBereich = .Usedrange.Offset(20 - .Usedrange.Row, 0)
Gruß Daniel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige