Seite 1 von 1

Makrofunktion

Verfasst: Di, 13.05.2008 11:06
von BGrabe
Hallo Zusammen,

ich habe versucht eine Excel Makrofunktion nach openoffice basic zu transportieren und anzupassen.
Leider funktioniert das nicht, kann mir jemand sagen wo der Fehler ist?

Code: Alles auswählen

Option Explicit

Dim cSteuerlast As Currency
Dim oGrenzwerteAus As Object
Dim oSteuersaetzeAus as Object
Dim oBlattAus As Object
Dim oZelle as Object
Dim cValuta1 As Currency, cValuta2 As Currency


Function SpitzenSteuersatzAus(iJahr As Integer) As Single
Dim iBeginn As Integer,iZaehler as integer

oBlattAus = ThisComponent.Sheets.getByName("AusSteuer")
oSteuersaetzeAus = oBlattAus.getCellRangeByName("SaetzeAus")
iBeginn = oBlattAus.getCellRangeByName("BeginnAus").value
msgbox iBeginn
    Select Case iJahr
        Case Is < 2005
        	iZaehler = iJahr - iBeginn
        	msgbox iZaehler
            oZelle = oSteuersaetzeAus.getCellByPosition(9,4)
            SpitzenSteuersatzAus = oZelle.value
        Case Is >= 2005
            oZelle = oSteuersaetzeAus.getCellByPosition(iJahr - iBeginn, 3)
            SpitzenSteuersatzAus = oZelle.value
    End Select
Set oBlattAus = Nothing
Set oSteuersaetzeAus = Nothing
End Function
Danke und Grüße

BGrabe

Re: Makrofunktion

Verfasst: Di, 13.05.2008 12:12
von Stephan
Leider funktioniert das nicht, kann mir jemand sagen wo der Fehler ist?
Wenn Du uns mitteilst was nicht funktioniert - vielleicht.

Bei mir funktioniert das Ganze zunächst problemlos, was natürlich davon abhängig ist das ich in der Funktion gegebene Randbedingungen korrekt beachte, also beispielsweise den benannten Bereich "BeginnAus" mit nur einer Zelle definiere.



Gruß
Stephan

Re: Makrofunktion

Verfasst: Di, 13.05.2008 12:35
von BGrabe
Hallo Stephan,

die Funktion gibt einen Fehlerwert zurück #Wert!

da der Fehler scheinbar ein nicht offfensichtliches Detailproblem darstellt, hier die Datei.

Grüße

Berthold

Re: Makrofunktion

Verfasst: Di, 27.05.2008 16:06
von BGrabe
Hallo Zusammen,

habe den Fehler endlich gefunden, ich denke typischer Umsteigerfehler.
Ein Zellbereich wird in Excel mittels (row, column) ausgelesen, in calc mit (Column,row).

Nach Umstellung läuft die Funktion problemlos.

Grüße

Berthold