いつもお世話になっております。
VBA初心者ですが、ご教授頂ければ幸いです。
前提・実現したいこと
業務進捗を確認できるExcelを作成しております。
日付ごとの製品の進捗率を求めたいのですが、
目標値"0"が発生してしまう為、オバーフローとなってしまいます。
その際に"0"を代入したいですがうまくいきません。
(例)下記図の様に、0の時は0としたいです
該当のソースコード
即席でsampleコードを作成致しました。
至らないところもありますが、ご確認お願い致します。
dim saisho as long dim saigo as long dim result_a as single dim result_b as single dim i as long with ActiveSheet saisho = .Cells(Rows.Count, 1).End(xlUp).row + 1 saigo = .Cells(Rows.Count, 2).End(xlUp).row For i = saisho To saigo '(例)下記からが進捗率の計算です。本来は変数ですが、今回はあらかじめ値を入れてます。 result_a = (5 - (5 - 0)) / 5 '目標値5 実績0の場合 = 0% result_b = (0 - (0-0)) / 0 '目標値0 実績0 = 0%だがオバーフローとなる .Cells(i,3).Value = result_a .Cells(i,4).Value = result_b next i end with
試したこと
IFを使用し、目標値0 = 進捗率0という回避はできましたが、
同じような計算式がたくさん繰り返されている為、出来れば避けたいです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/13 07:35