GELÖST: Zelleninhalt in bestimmten Zeilen kürzen

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

Moderator: Moderatoren

retuwe61
****
Beiträge: 159
Registriert: So, 18.11.2007 21:25

GELÖST: Zelleninhalt in bestimmten Zeilen kürzen

Beitrag von retuwe61 »

Hallo miteinander.
Sobald in Spalte A der Begriff "Fall" gefunden wird, soll der in der Spalte B befindliche Zelleninhalt auf die vier letzten Ziffern gekürzt werden.
Leider erhalte ich nur die Meldung "Objektvariable nicht belegt".
Gruß
Uwe

Code: Alles auswählen


    Sub FA_Form

    osheet = thiscomponent.sheets.getbyname("FA")
    ocursor = osheet.createcursor
    ocursor.gotoendofusedarea(False)
    nrow = ocursor.rangeaddress.endrow

    for ze = nrow to 1 step -1
    oZelle = oSheet.getCellByPosition(0,ze)
 
        if oZelle.string = "Fall" then
       	mycell = oSheet.getCellByPosition(1,ze)
       	inhalt=mycell.getstring
       	atext=right(inhalt, 4)
       	
'	print atext      
       	oRange = osheet.getCellRangeByPosition(1,ze,1,ze)
	oRange.setDataArray(atext)

        end if
    next
    
End Sub
Zuletzt geändert von retuwe61 am Di, 09.09.2014 11:15, insgesamt 1-mal geändert.
Angewandt wird LibeOffice Version 5.1.6.2
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Zelleninhalt in bestimmten Zeilen kürzen

Beitrag von Stephan »

die Meldung ist inhaltlich irreführend.

Der Fehler liegt darin das Du versuchst einen String zu übergeben wo ein Array übergeben werden muss (genauer gesagt Array in Array.

z.B. geht:

Code: Alles auswählen

Sub FA_Form

    osheet = thiscomponent.sheets.getbyname("FA")
    ocursor = osheet.createcursor
    ocursor.gotoendofusedarea(False)
    nrow = ocursor.rangeaddress.endrow

    for ze = nrow to 1 step -1
    oZelle = oSheet.getCellByPosition(0,ze)
 
        if oZelle.string = "Fall" then
          mycell = oSheet.getCellByPosition(1,ze)
          inhalt=mycell.getstring
          atext=right(inhalt, 4)
		Dim atext1(0)
          atext1(0) = Array(atext)
          
'   print atext      
          oRange = osheet.getCellRangeByPosition(1,ze,1,ze)
  oRange.setDataArray(atext1())

        end if
    next
    
End Sub

Gruß
Stephan
retuwe61
****
Beiträge: 159
Registriert: So, 18.11.2007 21:25

Re: Zelleninhalt in bestimmten Zeilen kürzen

Beitrag von retuwe61 »

Hallo Stephan.
Herzlichen Dank.
Gruß
Uwe
Angewandt wird LibeOffice Version 5.1.6.2
Antworten