der Peter hat mir mal eine tolle Suchfunktion für Aktenordner-Nummern hier erstellt.
Ich weis nicht warum, aber seit kurzen wird die Zeile in der sich das Suchergebnis befindet zwar markiert, aber nicht eingeblendet, bzw. der Sprung zu dieser Zeile unterbleibt.
Es sollte diese Zeile nach der Suchfunktin direkt anzeigen, ohne das man erst einmal dahin scrollen muß.
Kann mir jemand sagen woran das liegt ?
Gruß
Fred
Hier der Code:
Public Sub Suchen()
Dim sSuchbegriff As String ' der Suchbegriff
Dim vBlatt As Variant ' die 9 auszuwertenden Tabellenblätter als Array
Dim iBlatt As Integer ' der For/Next Schleifen-Index zum Array
Dim lZeile As Long ' der For/Next Schleifen-Index für die Spalte O
Dim sZeichen As String ' die numerischen Wert und das Minuszeichen
Dim iPosition As Integer ' die Position diverser Schlüsselbegriffe
Dim sWert As String ' der Von-Bis Suchbegriff komplett
Dim sInhalt As String ' der Von-Bis Begriff - nur Zahelen und ggf. Minuszeichen
Dim Von As Long ' der Von Suchbegriff
Dim Bis As Long ' der Bis Suchbegriff
vBlatt = Array("Tabelle1", "Tabelle2", "Tabelle3") ' usw. - die ersten 9 Tabellenblätter
sSuchbegriff = ThisWorkbook.Worksheets("Menü Info").Range("K12").Value
For iBlatt = 0 To UBound(vBlatt)
With ThisWorkbook.Worksheets(vBlatt(iBlatt))
.Activate
' die Spalte O abarbeiten
For lZeile = 2 To .Cells(.Rows.Count, 15).End(xlUp).Row
' evtl. vorhandene Leerzeichen eliminieren
sWert = Replace(.Range("O" & lZeile).Value, " ", "")
' evtl. vorhandene + Zeichen in - Zeichen umwandeln
sWert = Replace(sWert, "+", "-")
sInhalt = ""
' nur die Zahlen und das Minuszeichen übernehmen
For iPosition = 1 To Len(sWert)
sZeichen = Mid(sWert, iPosition, 1)
If IsNumeric(sZeichen) Or sZeichen = "-" Then
sInhalt = sInhalt & sZeichen
End If
Next iPosition
' gibt es kein - Zeichen?
If InStr(sInhalt, "-") > 0 Then
Else
' dann wird eines eingefügt und der alleinstehende Wert dahinter eingefügt
sInhalt = sInhalt & "-" & sInhalt
End If
'.Range("P" & lZeile).Value = sInhalt
' nun wird der erste numerische Wert als Von-Bereich übernommen
Von = Val(sInhalt)
' es wird die Position des - Zeichens gesucht
iPosition = InStr(sInhalt, "-")
' nun wird der zweite numerische Wert als Bis-Bereich übernommen
Bis = Val(Mid(sInhalt, iPosition + 1))
' mit den Von to Bis Werten wird ein Select Case ausgewertet
Select Case sSuchbegriff ' der gesuchte Begriff !!!
Case Von To Bis
'MsgBox "gefunden in Zelle ""O" & lZeile & """", _
64, " Information für " & Application.UserName
.Range("A" & lZeile & ":Z" & lZeile).Select
Exit Sub ' wenn gefunden, das Makro verlassen
End Select
Next lZeile
End With
Next iBlatt
End Sub