はじめに
SAPは多くの企業で導入されているので、ExcelVBA側でSAP投入データの橋渡しをしてやるケースは意外と多い……
癖があるんですよね、SAP。
SAPは会計期間を4月:1、5月:2……といった具合でコンバートが必要です。
プロジェクト都度実装するのは面倒だからライブラリで用意してほしいものですね(願望)。
ということで、SAP会計期間とおまけで会計年度を算出する関数を作ってみました。
コピペで使えるExcelVBA
'SAP会計期間取得 Function conv_sap_ap(inToday As Date) Dim result As Integer '4月が会計期間1となる場合の処理 '1-3月は10,11,12と表現する If (Month(inToday) - 3) <= 0 Then result = Month(inToday) + 9 Else '4-12月は1,2…と読み替える result = Month(inToday) - 3 End If convSAPAP = result End Function 'SAP会計年度取得 Function getSAP_FA(inToday As Date) Dim result As Integer '翌年の1-3月は本会計年度として計算とし、該当YYYYを返す If (Month(inToday) - 3) <= 0 Then result = Year(DateSerial(Year(inToday) - 1, Month(inToday), 1)) Else '4-12月を本会計年度としてそのままYYYYを返す。 result = Year(DateSerial(Year(inToday), Month(inToday), 1)) End If getSAP_FA = result End Function