Excel VBA質問箱 IV

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

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


8402 / 76732 ←次へ | 前へ→

【73905】Re:別シート検索してマッチすれば値を+1
発言  UO3  - 13/3/19(火) 9:44 -

引用なし
パスワード
   ▼nonoka さん:

おはようございます

まず、↑で、コードは元に戻しましょうと申し上げましたが、
もしK列自体も休日なら翌日にしておく必要があれば元に戻さず、
連絡した対処でお願いします。

で、N;AA の日付については、申し上げた通り、関数側で対処が必要です。
この対処を、今のところ以下のように考えています。

たとえば各セルに

=IF(K10="","",IF(AG10=0,"",$K10+AD10+AE10+AF10+AG10))
=IF(K10="","",IF(AH10=0,"",$K10+AD10+AE10+AF10+AG10+AH10))
=IF(K10="","",IF(AL10=0,"",$K10+AD10+AE10+AF10+AG10+AH10+AI10+AJ10+AK10+AL10))

こんなようになっているとします。
これを、VBA側で、たとえばGetWorkDate といったユーザー定義関数を準備して、

=GetWorkDate(K10,AD19,AE10,AF10,AG10) というように書き直します。
この機能は
K10 が空白なら空白
K10に値がある場合は、列挙された最後のセル(この場合はAG10)が空白なら空白。
そうでない場合は、列挙されたものを合計。
こういったものを考えています。

このGetWOrkDateの中で、現在K列で行っているような休日チェックを行います。
ちょっと気になっているのは、現在、この処理を、VBAの中でも、負荷の大きな
Findメソッドを使っている点です。1つ、2つならどうってことはないのですが、
おそらく膨大な数のセルに式が配置されていると思いますので、ここを少しでも
軽くできるかどうかがポイント。
土日も翌日回しということなら、ロジックの中で シート関数のNETWORKDAYS等も
使えるかな?と思っているのですが、いやいや、そうではない、あくまで休日リスト
の日付だけを翌日回しということなら、Findを使わざるを得ないかも。

また、休日リストが、現在のように B4:S200 ではなく 1列にずらっとセット
してあれば、Findより、やや軽めのMATCH関数が使えます。

そこはいかがでしょう?
278 hits

【73864】別シート検索してマッチすれば値を+1 nonoka 13/2/26(火) 11:09 質問
【73865】Re:別シート検索してマッチすれば値を+1 UO3 13/2/26(火) 12:36 発言
【73866】Re:別シート検索してマッチすれば値を+1 nonoka 13/2/26(火) 13:19 質問
【73867】Re:別シート検索してマッチすれば値を+1 nonoka 13/2/26(火) 15:54 質問
【73878】Re:別シート検索してマッチすれば値を+1 UO3 13/2/27(水) 10:41 発言
【73879】Re:別シート検索してマッチすれば値を+1 UO3 13/2/27(水) 16:30 発言
【73880】Re:別シート検索してマッチすれば値を+1 nonoka 13/2/27(水) 17:03 回答
【73894】Re:別シート検索してマッチすれば値を+1 nonoka 13/3/18(月) 15:49 回答
【73903】Re:別シート検索してマッチすれば値を+1 UO3 13/3/19(火) 5:44 発言
【73904】Re:別シート検索してマッチすれば値を+1 nonoka 13/3/19(火) 9:27 発言
【73905】Re:別シート検索してマッチすれば値を+1 UO3 13/3/19(火) 9:44 発言
【73906】Re:別シート検索してマッチすれば値を+1 UO3 13/3/19(火) 9:50 発言
【73907】Re:別シート検索してマッチすれば値を+1 nonoka 13/3/19(火) 9:59 回答
【73908】Re:別シート検索してマッチすれば値を+1 UO3 13/3/19(火) 10:50 発言
【73909】Re:別シート検索してマッチすれば値を+1 nonoka 13/3/19(火) 11:14 回答
【73910】Re:別シート検索してマッチすれば値を+1 UO3 13/3/19(火) 13:59 発言
【73916】Re:別シート検索してマッチすれば値を+1 nonoka 13/3/19(火) 19:10 質問
【73917】Re:別シート検索してマッチすれば値を+1 nonoka 13/3/19(火) 19:19 質問
【73918】Re:別シート検索してマッチすれば値を+1 nonoka 13/3/19(火) 19:37 お礼
【73911】Re:別シート検索してマッチすれば値を+1 UO3 13/3/19(火) 14:01 発言
【73912】Re:別シート検索してマッチすれば値を+1 UO3 13/3/19(火) 15:31 発言
【73915】Re:別シート検索してマッチすれば値を+1 nonoka 13/3/19(火) 18:29 回答

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