- ベストアンサー
VBA 計算の繰り返し
VBAの初心者です。 ご指導お願いいたします。 G列とH列とJ列に入力されている数字をK列に合計が出るように計算式ができているのですが、 その計算式をVBAでK2からKの最後の行まで自動で入力してくれて なおかつ、K○にはG○+H○+J○の合計が入力されるように 計算式を変換する方法を教えてください。 ちなみに計算式は =VALUE(SUBSTITUTE(G2,"万",""))*10000+VALUE(SUBSTITUTE(H2,"円",""))+IF(J2="-",0,VALUE(SUBSTITUTE(J2,"円",""))) です。 ご指導お願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> エクセルの話で間違いないのですが、あくまでVBAで設定をしたいと思ってます。 と言うことでしたらこんな感じで…… K2からJ列に値が入っている最終行までを対象にしました。 Sub Sample() Dim nLast As Long nLast = WorksheetFunction.Max(2, Range("J" & Rows.Count).End(xlUp).Row) Range("K2").Formula = "=VALUE(SUBSTITUTE(G2,""万"",""""))*10000+VALUE(SUBSTITUTE(H2,""円"",""""))+IF(J2=""-"",0,VALUE(SUBSTITUTE(J2,""円"","""")))" If nLast > 2 Then Range("K2").AutoFill Destination:=Range("K2:K" & nLast) End If '式を入れたいだけならここまで。値だけにしたいなら以下も必要 Range("K2:K" & nLast) = Range("K2:K" & nLast).Value End Sub
その他の回答 (1)
- mt2008
- ベストアンサー率52% (885/1701)
何のソフトなのかの説明が無いですが、Excelの話ですよね? J列に既に値が入っているなら、K2セルに質問文中に提示されている式を入れた状態で選択し、セルの右下に出る■をWクリックするとJ列の値が途切れるところまでずっと式が入りますがそれでは駄目ですか?
お礼
ご回答ありがとうございます。 エクセルの話で間違いないのですが、あくまでVBAで設定をしたいと思ってます。
お礼
ありがとうございます。 これで一歩進みました。