選択範囲の金額を百万円単位に変換する
前回のコードをちょっといじっただけです。
タイトルのとおり選択範囲の金額を百万円単位に変換します。”金額”と表現しましたが単純に選択範囲の数値を1,000,000で割るだけです。
前回と同じく「セルの値が0,空白,文字列,日付のいずれかの場合は処理をしない」という条件判断を追加しました。
選択範囲に文字列などが含まれているとエラーになってしまうからです。
ちなみに1,000,000で割った後の数値は小数点第三位以下を切り上げします。
***************************************
Sub 選択範囲の金額を百万円単位にする()
Dim i As Long
Dim j As Long
For i = Selection.Row To Selection.Rows(Selection.Rows.Count).Row
For j = Selection.Column To Selection.Columns(Selection.Columns.Count).Column
If Cells(i, j).Value <> 0 And Cells(i, j).Value <> "" And _
TypeName(Cells(i, j).Value) <> "String" And TypeName(Cells(i, j).Value) <> "Date" Then
'セルの値が0,空白,文字列,日付のいづれかの場合は処理をしない
Cells(i, j).Value = Application.RoundUp(Cells(i, j).Value / 1000000, 2) '小数点第三位以下切り上げ
End If
Next j
Next i
End Sub
***************************************
※SubからEnd Subまでをコピペしてマクロを使用できます。使用の際は自己責任でお願いいたします。