suchen spezial

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Charly
*****
Beiträge: 450
Registriert: Di, 20.01.2004 13:14
Wohnort: München

Re: suchen spezial

Beitrag von Charly »

Hallo Clag!

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
Gruß
Charly
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: suchen spezial

Beitrag von clag »

Hallo Charly,

prima,
jetzt funktioniert das Makro genau wie gewünscht

nochmal Danke! für die Unterstützung

auch an Turtle47 der ja die Basis geschaffen hat !
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Antworten