VBAの勉強を始めてみた

色々試しています。

選択範囲の金額を百万円単位に変換する

前回のコードをちょっといじっただけです。
タイトルのとおり選択範囲の金額を百万円単位に変換します。”金額”と表現しましたが単純に選択範囲の数値を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までをコピペしてマクロを使用できます。使用の際は自己責任でお願いいたします。