Supportnet / Forum / Tabellenkalkulation
[Excel] Formeln mit VBA nutzen
Frage
Hi!
Kann man Formeln, die durch ein Excel-Plug-In zur Verfügung gestellt werden, auch für automatisierte Anwendungen (VBA) nutzen?
Gruss,
Björn
Antwort 1 von coros
Hallo Björn,
nein, meines Wissens nach kann man diese nicht in VBA nutzen. Du musst Dir da eine eigene Funktion erstellen. Als Beispiel würde z.B. die Funktion "=EDATUM()" nachgebaut in VBA folgendermaßen aussehen:
Ich hoffe, Du kommst klar. Bei Fragen melde Dich.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
nein, meines Wissens nach kann man diese nicht in VBA nutzen. Du musst Dir da eine eigene Funktion erstellen. Als Beispiel würde z.B. die Funktion "=EDATUM()" nachgebaut in VBA folgendermaßen aussehen:
Option Explicit
Function EDatum_VBA(Ausgangsadtum As Date, Monate As Integer) As Date
EDatum_VBA = DateSerial(Year(Ausgangsadtum), Month(Ausgangsadtum) + Monate, _
Application.WorksheetFunction.Min(Day(Ausgangsadtum), _
Day(DateSerial(Year(Ausgangsadtum), 1 + Month(Ausgangsadtum) + Monate, 0))))
End Function
Ich hoffe, Du kommst klar. Bei Fragen melde Dich.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von Björn
Hi Oliver!
Bin mir nicht sicher, ob ich Dich richtig verstehe, da ich Deinen Code mangels Excelkenntnissen nicht verstehe. Wenn Du mit "nachbauen" meist, dass ich den Algorithmus der Formel selbst nochmal schreiben soll, dann bin ich da nicht begeistert, schliesslich soll mir das Plug-In ja gerade diese Arbeit abnehmen.
Ich hab mir das eher so vorgestellt:
und es scheint zu funktionieren. Dem Makrorekorder sei Dank! ;-)
Gruss,
Björn
Bin mir nicht sicher, ob ich Dich richtig verstehe, da ich Deinen Code mangels Excelkenntnissen nicht verstehe. Wenn Du mit "nachbauen" meist, dass ich den Algorithmus der Formel selbst nochmal schreiben soll, dann bin ich da nicht begeistert, schliesslich soll mir das Plug-In ja gerade diese Arbeit abnehmen.
Ich hab mir das eher so vorgestellt:
Sub main()
MsgBox tage360("01.01.2007", "31.12.2007")
End Sub
Function tage360(d1, d2)
Cells(1, 1) = d1
Cells(2, 1) = d2
Range("A3").FormulaR1C1 = "=DAYS360(R[-2]C,R[-1]C)"
tage360 = Cells(3, 1)
End Function
und es scheint zu funktionieren. Dem Makrorekorder sei Dank! ;-)
Gruss,
Björn