• ベストアンサー

EXCEL VBAの日付関数について

EXCEL VBAの日付関数のことでお聞きしたいことがあります。 エクセルの関数でワークデイ関数がありますが、例えば C1セル: =WORKDAY(A1,10,B1:B10) これをVBAのコードで書くと、どういうコードになるのでしょうか。 VBAの関数については詳細に書かれたテキストを持っておらず、WorksheetFunctionを使ってチャレンジしてみましたが どうも上手くいきませんでした。 初歩的な質問かも知れませんが、どうぞよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#62235
noname#62235
回答No.1

過去に同じ質問がありました。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1810554&rev=1

takohasisa
質問者

お礼

あらら。失礼いたしました。 きちんと検索をしてから質問をするようにします。 ありがとうございました。

その他の回答 (2)

noname#79209
noname#79209
回答No.3

直接の回答でなく、かつ私見で恐縮ですが、 ワークシート関数で実現できるものは極力ワークシート上で行い、 どうしてもできないものについてのみVBAを使用すべきです。 また、VBAで実現するにしても、出来るだけユーザー定義関数で作成して、 VBA内で特定のセルをキメ打ちするようなコードは避け、パラメータで対応するようにすべきです。 老婆心ながら...

takohasisa
質問者

お礼

ご指摘ありがとうございます。 関数だと勝手にセルをいじって式を壊されてしまうことがあったので VBAで処理をしようかと思いました(保護をかければ済む問題かもしえませんが。) またよろしくお願いいたします。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

基本的に考えを修正する必要があると思う。 ーー 安易に Applivation.WorksheetFunctionwo くっつけて使ってはいけない。 個別に、VBAでもそれがWorksheetFunctionをつけて使えるかは、調べないといけない。 ーー 普通は本を調べるのが面倒なので、うまくいかなかったら 過去の使用経験と(関数名を見れば、危ないなと思う予想は付く) うまく行かない場合、使えない関数だと考えて 他の方法を探す(ロジックを考えてVBAで組む) ーー ただし、表に網羅されている表が載っている本があったように 思います。 関数辞典など。 これを参照するのが良いやり方かも。 -- WEBでは http://www.relief.jp/itnote/archives/001974.php ーー >どういうコードになるのでしょうか 暦関係はコードで実現するのが非常に面倒(大掛かりになる)です。 覚悟を決めて1から、質問者が処理ロジックを考えてください。 ーー http://okwave.jp/qa730137.html http://www.relief.jp/itnote/archives/002731.php

takohasisa
質問者

お礼

ありがとうございました。 サイトを参考に頑張ってみます。