Formelfehler per Makro finden? (ZellenTyp herausfinden)

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Formelfehler per Makro finden? (ZellenTyp herausfinden)

Re: Formelfehler per Makro finden? (ZellenTyp herausfinden)

von Karolus » Di, 08.05.2012 16:36

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

Re: Formelfehler per Makro finden? (ZellenTyp herausfinden)

von MikeRo » Di, 08.05.2012 16:11

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)

von Karolus » Di, 08.05.2012 15:38

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

Formelfehler per Makro finden? (ZellenTyp herausfinden)

von MikeRo » Di, 08.05.2012 14:29

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

Nach oben