Excel2002で繰り返し計算を行いたいのですが・・・
以下のシートがあります。
A列 B列 C列 D列 I列
製品1 製品2 製品3 ・・・
生産量 50 80 10
生産額 1000 2400 500
単価 20 30 50
単価(生産金額/生産量)の計算をVBAで行いたいのですが、
1行ずつ指定するのではなく、繰り返し(For Next?)で
行う方法があると思うですが・・・。
(計算はI列までです)
今は1行ずつ書いています。
Range("B2") = ・・・
Range("C2") = ・・・
・
Range("I2") = ・・・
効率が悪いのでこれを改善できないかと・・・。
よろしくお願いします。
No.3
- 回答日時:
エクセルの使用・操作経験はない門外漢ですので参考程度にされて下さい。
そして、既に、回答は出尽くしていますので別の角度から・・・。
___________製品1__製品2__製品3
生産量______50_______80________9
生産額___1000____2400_____420
単価_________20________30______46
こういう形式であれば、生産量行ないし生産額行が更新された時に単価行を書き換えるのもありかと・・・。
Const 生産量行 = 2
Const 生産額行 = 3
Const 単価行 = 4
Private Sub Worksheet_Change(ByVal Target As Range)
Dim intRow As Integer
Dim intCol As Integer
Dim 生産量 As Currency
Dim 生産額 As Currency
intRow = Target.Row
intCol = Target.Column
If (intRow = 生産額行 Or intRow = 生産量行) And intCol > 1 Then
生産量 = Me.Cells(生産量行, intCol)
生産額 = Me.Cells(生産額行, intCol)
If 生産量 <> 0 And 生産額 <> 0 Then
Me.Cells(単価行, intCol) = Rounds(生産額 / 生産量, 1)
End If
End If
End Sub
上述のコードで目的は達せられます。
なお、上述のコードでは単価計算で発生した小数点以下を<切り捨て>ています。
その際に使っている Rounds関数は VBA には存在しません。
そういうことで、 Rounds関数は標準モジュールに登録する必要があります。
'
' Rounds関数用
'
Public Const 四捨五入 = 0
Public Const 切り捨て = 1
Public Const 切り上げ = 2
Public Function Rounds(ByVal M As Currency, _
ByVal A As Integer, _
Optional D As Integer = 0) As Variant
Rounds = Sgn(M) * Fix(Abs(M) * 10 ^ D + Abs((A = 0) * 0.5@ + (A = 2) * (Int(M * 10 ^ D) <> (M * 10 ^ D)))) / 10 ^ D
End Function
<別の角度の意味>
一つは、単価計算ですから、 Currenncy型を使うことも考慮すべき点。
二つは、単価計算ですから、小数点以下の処理も考慮すべき点。
No.2
- 回答日時:
普通は、VBAではなくてセルに計算式を設定して置くと思うのですが?
Sub test1()
Dim col As Integer
For col = 2 To 256
If Cells(2, col) <> "" Then
Cells(4, col) = Cells(3, col) / Cells(2, col)
Else
Exit For
End If
Next
End Sub
回答ありがとうございます。
最初はご指摘の通り計算式を置いていたのですが、
他にもマクロを使っているので、その一連の流れで質問の計算も
行うと思ったものですから・・。
お教えいただきありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
四角い形のCDや星型のCD
-
「Limited Run」の意味は?
-
「試作品」と「量試品」の区別は
-
先日発表になったフェアレディZ...
-
反対語
-
供給先と供給元
-
供給と供給量の違いを教えてく...
-
中1です。 学校の生徒会で文集...
-
D=20000ー10pの逆需要関数はど...
-
ビニールハウスの建設について
-
直線の需要曲線のときの価格弾...
-
需要曲線ー供給曲線では、なぜ...
-
なぜ「費用対効果」で「対費用...
-
需要と需要量
-
rtx2080tiとi9-9900kfではボト...
-
【初歩的ですみません】需要関...
-
限界費用曲線が水平で描かれるとき
-
パソコンを使ってのグラフの作...
-
養育費について
-
コック品?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「試作品」と「量試品」の区別は
-
反対語
-
うずらの卵は、養鶏場のうずら...
-
投機と延期
-
「Limited Run」の意味は?
-
BtoBCの事例は?
-
どうして「備中ぐわ」と言うの...
-
EMS,OEM,ODMの違いについて
-
四角い形のCDや星型のCD
-
先日発表になったフェアレディZ...
-
uPD71055(8255)のの代用を考...
-
複数の条件に合致した場合、特...
-
お酒の瓶の形のプラスチック容器
-
製品アイテム数の数え方
-
ビデオカメラの生産が終了した...
-
分子の進化と現代社会
-
駄菓子「お好みあられ」が購入...
-
ナショナル ホームシアターライト
-
501XX レプリカ
-
生産高と生産数量の違い
おすすめ情報