• ベストアンサー

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,"円",""))) です。 ご指導お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.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

mituya08
質問者

お礼

ありがとうございます。 これで一歩進みました。

その他の回答 (1)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

何のソフトなのかの説明が無いですが、Excelの話ですよね? J列に既に値が入っているなら、K2セルに質問文中に提示されている式を入れた状態で選択し、セルの右下に出る■をWクリックするとJ列の値が途切れるところまでずっと式が入りますがそれでは駄目ですか?

mituya08
質問者

お礼

ご回答ありがとうございます。 エクセルの話で間違いないのですが、あくまでVBAで設定をしたいと思ってます。

関連するQ&A