質問: エクセルのマクロを教えてください。 日報があります。 日付を見てその日の合計時間をi列に出したいです。 その日の定時と時間外を合わせて出したい。 4/14を見ると定時に5.5、1、1.5時間と入っています。 合計すると8時間。 4/16では定時に2、6時間で時間外に3時間となっています。 合計して11時間となります。 添付画像では分かりやすいように、罫線や色がありますが 実際にはどれもありません。 これをマクロでやりたいのでコードを教えてもらえないでしょうか。 出来れば、コードの意味も教えてもらえると助かります。
回答: こんばんは >マクロでやりたいのでコードを教えてもらえないでしょうか。 方法を問わないのであれば、no1様のアイデアをそのままお借りして、こんなのでは? sub sample() dim r set r = cells(2, 9).resize(cells(rows.count, 2).end(xlup).row) r.formulalocal = "=if(b2=b3,"""",sumif(b:b,b2,g:g)+sumif(b:b,b2,h:h))" r.value = r.value end sub >コードの意味も教えてもらえると助かります。 実質3行ほどのコードなので、意味も何もないですけれど・・・ 1行目で、セルの範囲を求め 2行目で、エクセルに計算してもらい 3行目で、結果をセルに代入しています ※ 正確には、セル範囲は-1するところでしょうけれど、万一、データが存在しない場合にエラーが発生してしまうので、悪影響はないと考えてそのままにしてあります。