Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12532 / 13644 ツリー ←次へ | 前へ→

【10046】datedif関数 syosinnsya 04/1/5(月) 11:22 質問
【10049】Re:datedif関数 角田 04/1/5(月) 12:46 回答
【10051】Re:datedif関数 syosinnsya 04/1/5(月) 14:23 お礼

【10046】datedif関数
質問  syosinnsya  - 04/1/5(月) 11:22 -

引用なし
パスワード
   こんにちわ。datedif関数を使って処理に何日かかったか求めたいのですが、その時土日祝日を除いて計算させたいのですが、どうしたらよいかわかりませんでした。よろしくお願いします。

【10049】Re:datedif関数
回答  角田 WEB  - 04/1/5(月) 12:46 -

引用なし
パスワード
   こんにちは。
>datedif関数を使って処理に何日かかったか求めたいのですが、
「日数」だけであれば、DateDiff関数を使わなくても、2つの日付データを
単純に引算すれば、その間の「日数」になります。

VBAであれば、Integer型変数などで受け取れば良いでしょう。
ワークシート上であれば、引算の式を書き込んだだけでは、そのセルの
表示形式が"日付"になっているので[1900/?/?]のような表記になりますから、
式を書き込んだ後に表示形式を『標準』に直しておきましょう。

>その時土日祝日を除いて計算させたいのですが
基本は祝日一覧表をワークシート上に用意し、[ツール→アドイン]から
分析ツールにチェックを入れ、NETWORKDAYS関数を使います。
 =NETWORKDAYS(日付1, 日付2, 祝日一覧表の範囲)

VBAでの利用なら、、[ツール→アドイン]から分析ツール(VBA)にチェックを入れ、
更にVBEの[ツール→参照設定]から
 Excel97、2000の場合は「atpusrc1.xls (ATPVBAEN.xla )」
 Excel2002の場合は「atpvbaen.xls (ATPVBAEN.xla )」
にチェックを入れると、VBA内でNETWORKDAYS関数が使えるようになります。
 日数 = NETWORKDAYS(日付1,日付2,Range(祝日一覧表のセル範囲))

祝日一覧表は、
 http://www.h3.dion.ne.jp/~sakatsu/holiday_topic.htm
から作れる一覧をコピペしても良いし
 http://www.h3.dion.ne.jp/~sakatsu/ktfunc_main.htm#HolidayTool
にあるツールを使っても作れます。
----------------------------------------------------------
他には、フリーのアドインで
 σ(^_^)の[kt関数アドイン/kt営業日数]
 http://www.h3.dion.ne.jp/~sakatsu/ktfunc_main.htm
を使えば祝日一覧表を用意しなくても計算できます

【10051】Re:datedif関数
お礼  syosinnsya  - 04/1/5(月) 14:23 -

引用なし
パスワード
   ▼角田 さん:
ありがとうございました。とても勉強になりましたし、助かりました。

12532 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free