
No.5ベストアンサー
- 回答日時:
No.3の回答者です。
No.4の回答にあるチェックの影響でずれることがあるのですね。
参考になりました。
そこで、
ActiveWorkbook.Date1904 = False
Debug.Print Format(WorksheetFunction.WorkDay(Date, -1), "yyyy/mm/dd")
で期待値になるのか確認してみてはいかが。
https://docs.microsoft.com/ja-jp/office/vba/api/ …
No.6
- 回答日時:
ご質問の通りにはしませんでしたが、確認できました。
私の記憶の範囲で、確か、日付の区切り方が、ワークシート上とVBA上では、計算の仕方が違い、VBAでは、開始日を含まない計算をするのだったと思います。それと、再帰計算が起きているように見えます。このままでは、手におえませんから、中身の分かるユーザー定義関数を作りました。祭日カウントが必要な時は、もう少し、手を加えなくてはなりません。
Sub test_Workday()
Dim a, b, d, dif As Integer
dif = -2 '日差
d = Date ' #5/11/2019# '日付
a = mWorkday(d, dif)
b = Format(WorksheetFunction.WorkDay(d, dif), "yyyy/mm/dd")
End Sub
'ユーザー定義関数(標準モジュール)
Function mWorkday(mDate As Variant, ByVal dif As Integer)
Dim sg As Long, cnt As Long
If VarType(mDate) = vbString Then
mDate = CDate(mDate)
End If
sg = Sgn(dif)
Do
mDate = mDate + sg
If Weekday(mDate, vbMonday) < 6 Then
cnt = cnt + sg
End If
Loop Until cnt = dif
mWorkday = Format(mDate, "yyyy/mm/dd")
End Function
この回答へのお礼
お礼日時:2019/05/11 22:07
誠にありがとうございます。
すみませんが、No.5の回答が私がやりたいことを完全に満たしていましたので今回はそちらをベストアンサーとさせていただきます。

No.2
- 回答日時:
Debug.Print Date - 1 ってやっても期待通りにならないんですかね?
ちなみにOffice365のExcelでは、最初の式でも Workday(Date - 1 , 0) でも同じ結果(2019/05/11)になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
15%増しの計算方法
-
何通りかの計算で 7C4 の答えが...
-
3分2の計算教えて下さい
-
割引の計算を教えてください。
-
パーセントの計算
-
計算の質問なんですが、 10000×...
-
指数計算 2^n-1
-
一定倍したある数を元に戻すには?
-
6畳間は何立方メートル?
-
前年比の%の計算式を教えてく...
-
2の365乗
-
中1です!宿題で数学のレポート...
-
(a+b+c)(-a+b+c)(a-b+c)+(a+b+c...
-
4次正方行列が正則であるかの判断
-
πがついた整数と普通の整数って...
-
数学が苦手で今日から250日後っ...
-
パーセントの計算での有効数字...
-
小学5年生の工夫して計算する問題
-
毎日10%ずつお金が増える時...
-
数Ⅱ 方程式の解の判別
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
15%増しの計算方法
-
パーセントの計算
-
一定倍したある数を元に戻すには?
-
ラジアン値を°′″(度・分・秒)...
-
指数計算 2^n-1
-
3分2の計算教えて下さい
-
何通りかの計算で 7C4 の答えが...
-
計算の質問なんですが、 10000×...
-
6畳間は何立方メートル?
-
「出来型」と「出来形」の使い...
-
教えて下さい
-
エクセルで関数計算後の値を数...
-
前年比の%の計算式を教えてく...
-
Excelの反復計算がわかりません。
-
割引の計算を教えてください。
-
(かっこ)^2のかっこ内の符号を...
-
一日ずつ2倍の金額をもらい続...
-
250gを8割と2割に分けると
-
同じ時間なのに、60進と10...
-
数学 200という数について、正...
おすすめ情報
早速のご確認ありがとうございます。
はい、上記の結果になることを期待しているのですが、2番目の関数の結果が
2011/05/07
になってしまう、という事象です。
ご確認ありがとうございます。
今外出中ですぐに試せないため、戻り次第確認してみます。
ありがとうございます。
マイナスの時間を表示する必要があり、チェック入れています。
外したところ期待通りの動作となりました。
ありがとうございます。
1904年から計算するのチェックは付けておく必要がありましたので、計算前後でoff/onすることでまさに私がやりたかったことが実現できました。