VBAの勉強を始めてみた

タイトルの通りVBAの勉強を始めました。効率化と暇つぶしを兼ねています。VBA以外の話題もあるよ(笑)

選択範囲の金額を千円単位にする(切り上げ版)

タイトルのとおり選択範囲の金額を千円単位に変換し、小数点以下を切り上げします。以前に掲載した内容と重複しますが前回のコードでは下の画像のような飛び飛びのセル選択に対して正しく処理ができなかったためFor Each Nextでコードを書き直しました。

f:id:kouten0430:20170630230715j:plain


前回のコードはこち

kouten0430.hatenablog.com

 

ちなみに、下記のコードでは小数点以下を切り上げますが、小数点以下を切り捨てたり四捨五入したい場合もあると思いますのでそっちのバージョンも用意してみました。コード後のリンクから飛べます。


***************************************
Sub 選択範囲の金額を千円単位にする切り上げ版()
   
    Dim myRange As Range

    For Each myRange In Selection
        If myRange.Value <> 0 And myRange.Value <> "" And _
        TypeName(myRange.Value) <> "String" And TypeName(myRange.Value) <> "Date" Then
        'セルの値が0,空白,文字列,日付のいづれかの場合は処理をしない
            myRange.Value = Application.RoundUp(myRange.Value / 1000, 0)    '小数点以下は切り上げ
        End If
    Next myRange
   
End Sub
***************************************

 ※SubからEnd Subまでをコピペしてマクロを使用できます。使用の際は自己責任でお願いいたします。

 

切り捨て版はこち

kouten0430.hatenablog.com

 

四捨五入版はこち

kouten0430.hatenablog.com