7.2.3 Wie kann man prüfen ob Zellen oder Bereiche in der aktuellen Selektion sind?
Wenn man mit getCurrentselction() den vom Anwender markierten Bereich auswählt, kann es sich dabei in einer Tabelle um verschiedende Bereiche handeln:

     eine Zelle,
     eine Bereich,
     oder mehrere Bereiche.

Um nun heraus zu bekommen mit welcher Art man es zu tun hat muss diese Selektion auf die entsprechenden Services prüfen.

     oCalc = thisComponent
     oSel=oCalc.getCurrentselection()
     if oSel.supportsService("com.sun.star.sheet.SheetCell") then
        'Der Cursor ist einer Zelle
        MsgBox "Eine Zelle markiert"    
       elseif oSel.supportsService("com.sun.star.sheet.SheetCellRange") then
         ' Ein Bereich
        MsgBox "Ein Bereich wurde markiert"     
       elseif oSel.supportsService("com.sun.star.sheet.SheetCellRanges") then
        'Mehrere Bereiche
       MsgBox "Mehrere Bereiche wurden markiert"                        
   end if


Siehe dazu auch unter Tools die Funktion getSelTyp