Archiv
Ansicht:   
Suche   erweiterte Suche

Nachricht aus dem Archiv

Tonisailer schrieb am 05.May.2010, 15:58:24 in der Kategorie pc.sw.office

Excel benutzerdefinierte Funktion per VBA einfügen

Hallo Excel-Experten,
habe mal wieder ein Problem, wo ich derzeit nicht weiterkomme.
Ich habe eine benutzerdefinierte Funktion, bei der ich das Alter zu einem gewissen Stichtag ermitteln möchte.
Hier der dazugehörige Code:

Function AlterStichtag(Stichtag, GebDatum)
Dim jalter
jalter = Year(Stichtag) - Year(GebDatum)
If Month(Stichtag) < Month(GebDatum) Then
    jalter = jalter - 1
Else
    If Month(Stichtag) = Month(GebDatum) Then
        If Day(Stichtag) < Day(GebDatum) Then
            jalter = jalter - 1
        End If
    End If
End If
AlterStichtag = jalter
End Function


Diese Funktion klappt auch, wenn ich sie manuell in eine Zelle schreibe. Nun möchte ich aber mit folgendem Code diese Funktion unter Verwendung der Inputbox in einen ganzen Spaltenbereich schreiben lassen:

Dim Stichtag As Variant

Stichtag = InputBox(\"Geben Sie den Stichtag ein\")

Set Bereich = Range(Cells(2, j + 1), Cells(lngZeilen, j + 1))

Bereich.FormulaR1C1 = \"=AlterStichtag(\" & Stichtag & \",RC\" & j & \")\"
Bereich.NumberFormat = \"0\"

End Sub



Beim Ausführen des Codes erhalte ich den Laufzeitfehler 1004, Anwendungs- oder objektdefinierter Fehler. Ich weiß, dass die Inputbox mir einen String zurückgibt, habe daher diesen mit CDate umgewandelt, erfolglos; ebenfalls scheiterten mehrere Varianten, die Variable \"Stichtag\" in dem Code in zusätzlichen Anführungszeichen bzw. Hochkommata zu setzen.
Was ist an meinem Code verkehrt?
Bin für jeden Tipp dankbar.
Gruß aus dem Bergischen Land
Toni

Archiv
Ansicht:   
Suche   erweiterte Suche
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz