Die letzte Zeile der Tabelle ist eine schwierige Geburt. Ich hänge jetzt an den Suchbereich noch eine leere Zeile an. Jetzt sollte er den Kreis auch dann machen, wenn der vorherige Treffer in der letzten beschriebenen Zeile steht. Ich spare mir dadurch auch die If-Abfragen.
Code: Alles auswählen
Global RegSearch as variant
Sub Suche()
myDoc = thisComponent
myView = myDoc.CurrentController
mySheet = myView.ActiveSheet
Cursor = mySheet.createCursor
Cursor.goToEndOfUsedArea(0)
Endzeile = Cursor.getRangeAddress().EndRow + 1
oSelect=ThisComponent.CurrentSelection.getRangeAddress
StartSpalte=oSelect.StartColumn
EndSpalte=oSelect.EndColumn
StartZeile =oSelect.StartRow + 1
Bereich = mySheet.getCellRangeByPosition(Startspalte,Startzeile,Endspalte,Endzeile)
RegSearch = InputBox("Suchbegriff eingeben", "Input Suchen", RegSearch)
For I= 1 to 2
SearchDesc = Bereich.createSearchDescriptor
SearchDesc.SearchString = RegSearch
SearchDesc.SearchCaseSensitive = false
SearchDesc.SearchRegularExpression = True
Found = Bereich.findFirst(SearchDesc)
If Not isnull(Found) then
myView.Select(found)
exit sub
end if
Bereich = mySheet.getCellRangeByPosition(Startspalte,11,Endspalte,Startzeile-1)
next I
MSGBOX ("Der Suchbegriff wurde nicht gefunden")
End Sub
Charly