四捨五入など
- Round関数 :四捨五入
- 構文:Round(数値)⇒整数にする
- 構文:Round(数値・桁数)⇒指定した少数の桁数になるようにする
- Rounddown関数:切り捨て
- Roundupp関数 :切り上げ
参考)Format 関数/Fix関数/Int関数(小数点の切り捨て)
切り捨て処理・RoundDown
構文:
RoundDown(expression, numdecimalplaces)
expression
: 切り捨てたい数値の式。numdecimalplaces
: 切り捨てたい桁数。
Dim x As Double
x = 3.141592653589793
Debug.Print RoundDown(x, 2) ' 3.14
上記の例では、変数 x
の値を小数点以下2桁に切り捨てた結果が表示されます。
例文
このVBAコードは、アクティブシート内のすべてのセルの値を0で切り捨てるものです。
Sub 切り捨て()
Dim i As Long
Dim ws As Worksheet
Set ws = ThisWorkbook.ActiveSheet
Dim MaxRow1 As Long
MaxRow1 = ws.Cells(Rows.Count, 2).End(xlUp).Row
'Set rH = ws.Range("A2:A" & MaxRow1)
Dim MaxCol1 As Long
MaxCol1 = ws.Cells(2, Columns.Count).End(xlToLeft).Column
'Set cH = ws.Range("E2:E" & MaxCol1)
For i = 2 To MaxRow1
For j = 2 To MaxCol1
ws.Cells(i, j).Value = WorksheetFunction.RoundDown(ws.Cells(i, j), 0)
Next
Next
MsgBox "完了"
End Sub
解説
1行目から4行目:変数の宣言およびアクティブシートの設定を行っています。
6行目から8行目:処理する範囲の最大行数および最大列数を取得しています。
10行目から16行目:forループを使って、各セルを切り捨てた後、その値を元のセルに戻します。
18行目:処理が終了したことを示すメッセージボックスを表示します。
具体的には、forループを使って、アクティブシート内のセルを走査し、各セルに対してRoundDown関数を適用します。RoundDown関数は、指定された小数以下の桁を切り捨て、整数を返します。そして、切り捨てた後の値を、元のセルに戻します。最後に、処理が完了したことを示すメッセージボックスが表示されます。
切り捨て処理 ・Int
Sub 切り捨て()
Dim i As Long
Dim ws As Worksheet
Set ws = ThisWorkbook.ActiveSheet
Dim MaxRow1 As Long
MaxRow1 = ws.Cells(Rows.Count, 2).End(xlUp).Row
'Set rH = ws.Range("A2:A" & MaxRow1)
Dim MaxCol1 As Long
MaxCol1 = ws.Cells(2, Columns.Count).End(xlToLeft).Column
'Set cH = ws.Range("E2:E" & MaxCol1)
For i = 2 To MaxRow1
For j = 2 To MaxCol1
Cells(3 + i, 2 + j) = Int(100 * Rnd())
Next
Next
MsgBox "完了"
End Sub
切り上げ処理
Sub 切り上げ()
Dim i As Long
Dim ws As Worksheet
Set ws = ThisWorkbook.ActiveSheet
Dim MaxRow1 As Long
MaxRow1 = ws.Cells(Rows.Count, 2).End(xlUp).Row
For i = 2 To MaxRow1
ws.Cells(i, 2).Value = WorksheetFunction.RoundDown(ws.Cells(i, 2), 0)
Next
MsgBox "完了"
End Sub
コメント