Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1008to1012
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
In geschützten Zellen nicht suchen
13.09.2008 07:58:00
weingartner
Guten Morgen !
Liebe Vba User würde eure Hilfe benötigen und zwar bräuchte ich einen bestehenden Code geändert .
Es geht dabei das in geschützten zellen nicht mehr gesucht wird ...........
User Marc4 hat mir folgende Lösung angeboten ..
If Not LastAuswahl Is Nothing and LastAuswahl.Locked = False Then
als ich das versuchte bekam ich immer eine Fehlermeldung bin mir aber nicht sicher ob ich die Codezeile richtig plaziert habe ?

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim b As Variant, c As Integer, objZelle As Range
b = TextBox1.Value
c = Len(b)
x = y 'ist wohl überflüssig
If KeyCode = 13 Then
If c > 1 Then
On Error GoTo ende
Application.EnableEvents = False
ActiveCell.Select
Me.Unprotect
Set objZelle = Cells.Find(What:=b, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False)
If objZelle Is Nothing Then
MsgBox "Wagen Nr. nicht vorhanden !!"
'TextBox1.Value = ""
Else
'ggf. letzte Markierung entfernen
If Not LastAuswahl Is Nothing Then
LastAuswahl.Interior.ColorIndex = oldFarbe
Set LastAuswahl = Nothing
End If
objZelle.Activate
Set wksLast = Me                          'Tabellenblatt merken
Set LastAuswahl = objZelle                'Zelle merken
oldFarbe = objZelle.Interior.ColorIndex   'Farbe Merken
objZelle.Interior.ColorIndex = 45 'orange
'Range("P104").Value = b
'TextBox1.Value = ""
End If
Me.Protect
Application.EnableEvents = True
End If
End If
Exit Sub
ende:
Application.EnableEvents = True
MsgBox Err.Number & vnld & Err.Description
Me.Protect
End Sub


wäre für Lösungsvorschläge sehr dankbar .
Lg.Ernst

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In geschützten Zellen nicht suchen
13.09.2008 13:45:51
Uwe
Hi Ernst,
bin zwar auch kein Profi und habe mich nicht wirklich in Deinen Code vertieft, aber ich denke Du musst auf jeden Fall die Codezeile:
If Not LastAuswahl Is Nothing Then
durch den Vorschlag von Marc4 ersetzen:
If Not LastAuswahl Is Nothing and LastAuswahl.Locked = False Then
Und: Es ist immer ärgerlich wenn man liest: .... eine Fehlermeldung...........
Um schnelle Hilfe zu bekommen, solltes Du IMMER schreiben, WELCHE Fehlermeldung, auch wenn das etwas mehr Tiparbeit ist. Also: Wie lautet der Text der Fehlermeldung?
Gruß
Uwe
(:o)
AW: In geschützten Zellen nicht suchen
13.09.2008 19:31:00
weingartner
Hallo uwe !
wenn ich die Codezeile ersetze kommt folgende Fehlermeldung...
Fehlermeldung 91 Objektvariable oder With Blockvariable nicht festgelegt..
Lg.Ernst
Anzeige
AW: In geschützten Zellen nicht suchen
13.09.2008 20:07:06
Uwe
Hi Ernst,
bleibt die Fehlermeldung denn aus, wenn nur:
If Not LastAuswahl Is Nothing then ....
da steht? Das kann ich mir irgendwie nicht vorstellen.
Da ich nicht wirklich durchblicke durch Deinen Code (LastAuswahl ist z.B. nicht dimensioniert und ich finde auch keinen Wert dafür!?), stelle ich Deine Frage wieder auf offen.
Gruß
Uwe
(:o)
AW: In geschützten Zellen nicht suchen
13.09.2008 20:48:38
Gerd
Hallo Ernst,
wenn der Fehler erst "so spät" kommt, wirst Du den Code schon richtig platziert haben.
Fragen:
Sind immer die selben Zellen ungeschützt? Kann man diese konstant angeben?
Kann die Suche immer nur einen Treffer landen?
Was soll passieren, wenn der Suchbegriff in einer ungeschützten Zelle gefunden wird?
Gruß Gerd
Anzeige
AW: In geschützten Zellen nicht suchen
13.09.2008 21:10:06
weingartner
hallo !
ja es sind immer die selben Zellen ungeschützt..
wenn ich den Code so lasse wie er von mir eingestellt wurde funktioniert alles ohne Fehlermeldung ...
für mich wäre es hilfreich wenn in geschützten Zellen nicht gesucht wird..
die Zellen werden über ein Suchfeld mit einer Nummerneingabe gesucht
Die Suche kann immer nur einen Treffer landen.
die gesuchte Zelle wird farblich dargestellt bei verlassen der Zelle erlischt Farbmarkierung ebenso beim speichern..
Lg.Ernst
AW: In geschützten Zellen nicht suchen
13.09.2008 21:42:58
Gerd
Hallo Ernst,
da der Code jetzt offenbar ohne Fehler läuft, gebe statt "Cells" den Bereich bzw. die Bereiche der ungeshützten Zellen an.
..........
Me.Unprotect
Set objZelle = Range("B5:C8", "F2:H14").Find(What:=b, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False)
...........
Gruß Gerd
Anzeige
AW: In geschützten Zellen nicht suchen
13.09.2008 21:56:00
weingartner
Hallo Gerd !
wenn ich range bereich angebe kommt fehler 13Typen unverträglich..
ausser der corsur steht in der spalte in der sich der gesuchte eintrag befindet...
Lg.Ernst
AW: In geschützten Zellen nicht suchen
13.09.2008 22:38:52
Gerd
Hallo Ernst,
so wird das nix. Lade bitte eine Beispielmappe hoch.
Gruß Gerd
AW: In geschützten Zellen nicht suchen
14.09.2008 13:12:00
Gerd
Hallo Ernst,
probier mal.

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim b As Variant, c As Integer, objZelle As Range
b = TextBox1.Value
c = Len(b)
x = y 'ist wohl überflüssig
If KeyCode = 13 Then
If c > 1 Then
On Error GoTo ende
Application.EnableEvents = False
'ActiveCell.Select
'Me.Unprotect
Set objZelle = rngSuchbereich.Find(What:=b, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False)
If objZelle Is Nothing Then
MsgBox "Wagen Nr. nicht vorhanden !!"
'TextBox1.Value = ""
Else
Me.Unprotect
'ggf. letzte Markierung entfernen
If Not LastAuswahl Is Nothing Then
LastAuswahl.Interior.ColorIndex = oldFarbe
Set LastAuswahl = Nothing
End If
objZelle.Activate
Set wksLast = Me                          'Tabellenblatt merken
Set LastAuswahl = objZelle                'Zelle merken
oldFarbe = objZelle.Interior.ColorIndex   'Farbe Merken
objZelle.Interior.ColorIndex = 45
'Range("P104").Value = b
'TextBox1.Value = ""
Me.Protect
End If
Application.EnableEvents = True
End If
End If
Exit Sub
ende:
Application.EnableEvents = True
MsgBox Err.Number & vnld & Err.Description
Me.Protect
End Sub


Function rngSuchbereich() As Range
Dim Cell As Range
For Each Cell In Range("A1:AA113")
If Cell.Locked = False Then
If rngSuchbereich Is Nothing Then
Set rngSuchbereich = Cell
Else
Set rngSuchbereich = Union(rngSuchbereich, Cell)
End If
End If
Next
End Function


Gruß Gerd

Anzeige
Perfekt !
14.09.2008 15:45:11
weingartner
Funktioniert 1A...Recht herzlichen Dank.
Lg.Ernst

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige