カレンダーは決まったルールでしか動かないので、わざわざパターンの登録から処理を分岐させず、生のデータを使うようにすれば冗長な条件分岐を避けることができます
例えば
締日付:IIf([末日締め],DateSerial(Year([売上日付]),Month([売上日付])+1,0),DateAdd("m",Month([売上日付])+IIf(Day([売上日付])>[締日],1,0),DateSerial(Year([売上日付])-1,12,[締日])))
通報 ...