回答編集履歴

5

訂正

2020/10/06 09:24

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  ```
8
8
 
9
- DateSerial(Year(Date) - (Month(保険満期日) * 10 + Day(保険満期日) < Month(Date) * 10 + Day(Date)), Month(保険満期日), Day(保険満期日))
9
+ DateSerial(Year(Date()) - (Month(保険満期日) * 10 + Day(保険満期日) < Month(Date()) * 10 + Day(Date)), Month(保険満期日), Day(保険満期日))
10
10
 
11
11
  ```
12
12
 
@@ -14,7 +14,7 @@
14
14
 
15
15
  ```
16
16
 
17
- DateSerial(Year(Date) - (Format(保険満期日, "MMDD") < Format(Date, "MMDD")), Month(保険満期日), Day(保険満期日))
17
+ DateSerial(Year(Date()) - (Format(保険満期日, "MMDD") < Format(Date(), "MMDD")), Month(保険満期日), Day(保険満期日))
18
18
 
19
19
  ```
20
20
 

4

追記

2020/10/06 09:24

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -19,3 +19,15 @@
19
19
  ```
20
20
 
21
21
  コントロールソースやクエリーの式としてそのまま記述するよりも、ユーザー関数にした方が保守性は良いと思います。
22
+
23
+ ```VBA
24
+
25
+ Public Function 提出期限日(保険満期日 As Variant) As Variant
26
+
27
+
28
+
29
+ 提出期限日 = DateSerial(Year(Date) - (Format(保険満期日, "MMDD") < Format(Date, "MMDD")), Month(保険満期日), Day(保険満期日))
30
+
31
+ End Function
32
+
33
+ ```

3

追記

2020/10/05 17:10

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -17,3 +17,5 @@
17
17
  DateSerial(Year(Date) - (Format(保険満期日, "MMDD") < Format(Date, "MMDD")), Month(保険満期日), Day(保険満期日))
18
18
 
19
19
  ```
20
+
21
+ コントロールソースやクエリーの式としてそのまま記述するよりも、ユーザー関数にした方が保守性は良いと思います。

2

追記

2020/10/05 17:03

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -9,3 +9,11 @@
9
9
  DateSerial(Year(Date) - (Month(保険満期日) * 10 + Day(保険満期日) < Month(Date) * 10 + Day(Date)), Month(保険満期日), Day(保険満期日))
10
10
 
11
11
  ```
12
+
13
+ Format()を使う方が若干式が短くなるし、分かり易いかも。
14
+
15
+ ```
16
+
17
+ DateSerial(Year(Date) - (Format(保険満期日, "MMDD") < Format(Date, "MMDD")), Month(保険満期日), Day(保険満期日))
18
+
19
+ ```

1

推敲

2020/10/05 17:00

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 以下上記仕様の式
5
+ 以下上記仕様の式(=提出期限日)
6
6
 
7
7
  ```
8
8