- ベストアンサー
平日の場合も動作したい
- OKWAVEで質問してある程度出来が上がってきましたが、まだ解決できないところがあり、ご指導下さい。
- M列に0以上の数字が入力されたらA列の日付を変えたい。
- C列を使う事でA7の平日は可能でしょうか?平日とは月~金までをいい、M7に1が入ったらA7は5/7と表示したいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>平日 平日を力技で計算しても出来ますが、てっとり早くエクセル画面からアドインで「分析ツール」「分析ツール-VBA」のチェックを入れてWORKDAY関数で計算させてみます。 土日のほか、祝祭日一覧を別途どこかのシート上に用意して、除外することもできます。 作成例: private sub Worksheet_Change(byval Target as excel.range) dim h as range on error resume next for each h in application.intersect(target, range("M:M")) if h > 0 then select case cells(h.row, "B") case "毎日" cells(h.row, "A") = cells(h.row, "A") + 1 case "平日" cells(h.row, "A") = application.run("ATPVBAEN.XLA!WorkDay", cells(h.row, "A"), 1) case "毎週" cells(h.row, "A") = cells(h.row, "A") + 7 case "隔週" cells(h.row, "A") = cells(h.row, "A") + 14 case "毎月" cells(h.row, "A") = dateadd("M", 1, cells(h.row, "A")) case "隔月" cells(h.row, "A") = dateadd("M", 2, cells(h.row, "A")) end select end if next end sub
お礼
ありがとうございます。WORKDAY関数という概念を初めて知りました 早速試しに使ってみます・