
年間(1~12月)の勤務日数を集計するVBAを組んでいます。
が、どうも動きません。どこがおかしいかご指摘いただけませんか
For m = 8 To a
Cells(m, "AI") = WorksheetFunction.SumIfs(Range(Cells(m, "BM"), Cells(m, "FP")), Range(Cells(6, "BM"), Cells(6, "FP")), "日", Range(Cells(7, "BM"), Cells(7, "FP")), ">=" & sYMD1, Range(Cells(7, "BM"), Cells(7, "FP")), "<=" & eYMD1)
Next m
・BM列からFP列まで3年分保存するようになっています(4年目以降は古いデータから削除)。
・6行目には"日"以外にも"時"が入り、"日"の場合は勤務日数を集計します。
・7行目のsYMDはスタート日(1/1)、eYMDは年末(12/31)
・8行~a行まで従業員を入力しており、全従業員分出すためにForNext
情報が足りない部分がありましたらご指摘ください。
宜しくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは
組込み関数だけで計算できる値のようなので、わかり難い記述法をとるよりも、そのまま関数式を設定する方法にした方が簡単ではないでしょうか?
Range("AI8").Resize(a-7).FormulaLocal = "=Sumifs(BM8:FP8,・・・
実質的には、上記の一行ですんでしまうはずです。
関数式を残しておくのは都合が悪いのであれば、
Range("AI8").Resize(a-7).Value = Range("AI8").Resize(a-7).Value
で、定数値化できます。
No.2
- 回答日時:
メモリスタックでうまくいかないと言う事でしょうか?
使用されている関数式をセルAI8にSumIfs関数を=Sumifs(BM8:FP8,・・・・と入力して結果は、期待通りになりますか?期待通りなら数式に間違いが無い事になります。
VBA For Next で WorksheetFunction.SumIfs などの処理をするとデータ量によっては、処理に時間がかかります。
VBAで複数条件で合算するなどする場合、(データ量が多い時などは特に)Dictionaryオブジェクト(連想配列)などを使う事が多いと思います。
>どうも動きません。は、エラーですか?エラーならデバッグの結果をお知らせください。
不具合の状況を具体的にされた方が、良いと思いますよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで隣のセルと同じ内容に列...
-
SUMIFで数値が入力されているセ...
-
エクセルに入力された日付「S40...
-
Excel関数:「0」を除いた標準...
-
値の入っているセルのうち、一...
-
Excel関数で、範囲内の最後のセ...
-
エクセルVBAを使ってセルに日付...
-
EXCELデータのCSV変換の限界
-
ピボットテーブル 0個の行を...
-
correl関数の範囲指定
-
更新前と更新後の差分をVBAを使...
-
入力するとかってにセルの色が...
-
【エクセル】区切り位置で分割...
-
複数の候補列から、検索値と一...
-
エクセル 8ケタの数字から日数...
-
Excelで順番を逆に
-
Excelで複数列かつ複数行分の一...
-
ExcelVBAのご質問(sumifs)
-
エクセル2000で〇×の並び替えを...
-
Excel:合計が一番上になる形で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで隣のセルと同じ内容に列...
-
【エクセル】区切り位置で分割...
-
更新前と更新後の差分をVBAを使...
-
値の入っているセルのうち、一...
-
Excel関数:「0」を除いた標準...
-
エクセルに入力された日付「S40...
-
エクセル、正数のみの集計[(負...
-
SUMIFで数値が入力されているセ...
-
Excelで複数列かつ複数行分の一...
-
ピボットテーブル 0個の行を...
-
correl関数の範囲指定
-
【Excel】歯抜けデータの集約
-
複数の候補列から、検索値と一...
-
Excel関数で、範囲内の最後のセ...
-
エクセル 8ケタの数字から日数...
-
EXCEL 階段状のグラフ
-
あるexcel表からチェックボック...
-
エクセルで何種類のデータがあ...
-
Excelで順番を逆に
-
エクセル 別のファイルにデータ...
おすすめ情報