エクセル関数を使って小数点以下を切り捨てする作業をVBAを使って複数行一括処理したいと思ったことありませんか?
Application.RoundDownと繰り返し処理を合わせて使えば、VBAコードたった3行で簡単にできる方法をご紹介します。
Application.RoundDown
エクセル関数で小数点以下切り捨てをするのはRoundDown関数を使えば簡単にできますが、せっかくエクセルVBAを使っているのだから無駄な数式を書いておくのって気が引けますよね。
1か所だけ切り捨て
そこで、ユーザーフォームに配置したコマンドボタンを押すことで、指定した複数のセルの値が小数点以下になっていたら整数にするVBAコードです。
VBAコード
Private Sub CommandButton1_Click()
Range(“A1”).Value = Application.RoundDown(Range(“B1”).Value, 0)
End Sub
解説
- コマンドボタン1がクリックされたら
- セルA1の値はセルB1の値を小数点以下切り捨て値を記載する
- マクロ記録終了
一番最後の,0を小数点第1位までにするならば,1とすれば完成で、小数点第2位ならば,2です。
複数セルを一括繰り返し処理して切り捨て
正直1か所だけならばVBAを使う必要もなくセルに直接エクセル関数を書けばいいのですが、何か所もあるのでVBAで簡単に処理したいと考えるので、繰り返し処理のFor~Nextを一緒に使う事で解決します。
VBAコード
Private Sub CommandButton1_Click()
For i = 1 To 10
Cells(i, 1).Value = Application.RoundDown(Cells(i, 2).Value, 0)
Next i
End Sub
解説
- コマンドボタン1がクリックされたら
- 変数「i」を宣言し、1~10とする
- セルi行目の1列目の値はセルi行目の2列目の値を小数点以下を切り捨てて記載する
- 繰り返し処理をする
- マクロ記録終了
波乗りアヒルこうするだけで1行目から10行目までがVBA小数点以下切り捨てを繰り返す事ができるようになりました。
関連記事
-
VBA関数


エクセルINT関数をVBAで小数点以下切り捨てを繰り返し処理方法
エクセル関数を使って小数点以下を切り捨てする作業をVBAを使って複数行一括処理したいと思ったことありませんか? Application.RoundDownと繰り返し処理を合わせて使え… -
VBA関数


2つのセルの値を足し算など加減乗除してラベル名に表示させるVBA
ユーザーフォームに配置したラベルの文字をプロパティのキャプションで指定するのではなく、セルの値を取得して表示させたいことありませんか? そしてさらに、2つのセ… -
VBA関数


エクセルVBAのメッセージ文章をセルの値にリンクさせる簡単な方法
エクセルでメッセージボックスを利用して「〇〇しますか?」と問うた時に、「はい」「いいえ」を選択できますが、固定した文章ではなくセルの値によって質問内容が変更… -
VBA関数


もし~だったらの条件分岐エクセル関数IFをVBAで代用する方法
条件分岐というと難しいですが、もし~だったら、そうでなかったらってよくありませんか? そしてエクセル関数でも使うIF関数をエクセルVBAでも高頻度で使うので、基本…





