質問: vba 項目ごとの数値の隣列に合計に対する比率(%)を入れたい。 a b c 200n1060056 8 2% 200n1080056 2 1% 200n1180056 39 10% 200n1380056 25 6% 200n1381056 318 81% 392 100% 20261040056 20 20261060056 0 20261180056 216 20261181056 506 20261381056 2695 3437 20271020056 25 20271040056 56 20271160056 102 20271180056 876 20271181056 235 20271200056 693 1987 いつもお世話になります。 上表のように、a列に項目があり、b列に数値があります。 a列が空白の行のb列には、b列の数値の合計が入力されています。 a列の空白行と空白行に挟まれたまとまりに対し、c列にb列の数値の合計を100%とした比率を入力していくマクロを組みたいのですが、よい記述方法が浮かびません。a列の行は可変で最終行はその時によって変わります。何か良い記述方法がありましたら、アドバイスお願いします。 ※a列はコードのような数字とアルファベットの羅列で意味はありませんが、ひとまとまりの最初の4文字は全て同じです。
回答: まずはシンプルに、こんなかんじでしょうか。 ちなみに、最終行が合計(a列が空白)でない場合は、エラーになります。 sub sample() dim i as long dim ttl as variant for i = cells(rows.count, "b").end(xlup).row to 1 step -1 if cells(i, "a").value = "" then ttl = cells(i, "b").value cells(i, "c").value = cells(i, "b").value / ttl next i end sub