Seite 1 von 1

Formelfehler per Makro finden? (ZellenTyp herausfinden)

Verfasst: Di, 08.05.2012 14:29
von MikeRo
Wie finde ich eine Zelle mit einem Formelfehler?
Bis jetzt habe ich nur herausgefunden, wie ich sehe, ob in einer Zelle ein Text, eine Zahl, eine Formel oder nichts ist.
Wie finde ich heraus, ob ein Fehler in der Formel ist?

Code: Alles auswählen

ErsteZeile		= 11
LetzteZeile	  = LoeschenZeile-1
ErsteSpalte	  = 0
LetzteSpalte	 = vLetzteSpalte

For x = ErsteZeile to LetzteZeile
For y = ErsteSpalte to LetzteSpalte
					
Adresse = oDoc.sheets.getByName("Angebot").getCellByPosition(y,x)
        			
'Test was was ist
        			'If Adresse.Type = 0 Then
        			'Adresse.String = "-0-" 'Kein Inhalt
        			'ElseIf Adresse.Type = 1 Then
        			'Adresse.String = "-1-" 'Zahl
        			'ElseIf Adresse.Type = 2 Then
        			'Adresse.String = "-2-" 'Text
        			'ElseIf Adresse.Type = 3 Then
        			'Adresse.String = "-3-" 'Formel
        			'End If
'Ende Test
        			        			
Select Case Adresse.Type
Case com.sun.star.table.CellContentType.EMPTY 
Adresse.String = "-"
Adresse.VertJustify = com.sun.star.table.CellVertJustify.CENTER
Adresse.HoriJustify = com.sun.star.table.CellHoriJustify.CENTER
End Select
					
Next y
Next x

Re: Formelfehler per Makro finden? (ZellenTyp herausfinden)

Verfasst: Di, 08.05.2012 15:38
von Karolus
Hallo

Code: Alles auswählen

range = thisComponent.CurrentSelection()
Formelfehlerzellen = range.queryFormulaCells( 4 )
...
wg. 4 in der Klammer siehe
~sdk/idl/com/sun/star/sheet/FormulaResult.idl
Karo

Re: Formelfehler per Makro finden? (ZellenTyp herausfinden)

Verfasst: Di, 08.05.2012 16:11
von MikeRo
Karolus hat geschrieben:Hallo

Code: Alles auswählen

range = thisComponent.CurrentSelection()
Formelfehlerzellen = range.queryFormulaCells( 4 )
...
wg. 4 in der Klammer siehe
~sdk/idl/com/sun/star/sheet/FormulaResult.idl
Karo
Und Was ist Formelfehlerzellen für ein Dateityp, wie bekomme ich die Adressen heraus?
Simple Ausgabe per Messagebox geht nicht.

Re: Formelfehler per Makro finden? (ZellenTyp herausfinden)

Verfasst: Di, 08.05.2012 16:36
von Karolus
Hallo
Nein mit msgbox findest du das nicht heraus aber mit http://extensions.services.openoffice.o ... roject/MRI - du programmierst doch nicht erst seit heute, benutze doch bitte dieses hervorragende Werkzeug.

.queryFormulaCells( 4 ) liefert dir einen Container mit den grösstmöglichen rechteckigen Zell|bereich|en die durchgängig FehlerFormeln enthalten.

Karo