[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『四捨五入のマクロ』(愛子)
お世話になります。
エクセルの数字が範囲;C6からO68迄並んでいます。
その数字の千円未満を四捨五入するマクロを教えて頂けませんでしょうか?
よろしくお願いいたします。
< 使用 Excel:Excel2013、使用 OS:Windows8 >
Sub test() Dim r As Range
Set r = Range("c6:o68") r.Value = Evaluate("Round(" & r.Address & ", -3)")
End Sub
(マナ) 2020/05/06(水) 18:32
Sub test2() Dim r As Range
Set r = Range("c6:o68") r.Value = Application.Round(r.Value, -3)
End Sub
(マナ) 2020/05/06(水) 18:50
私の伝え方が間違っていました。
すみません。
千円未満を四捨五入して単位を千円にすることでした。
例えば15,678は、15,000ではなく 15 にしたかったのです。
まことにすみませんでした。
(愛子) 2020/05/06(水) 21:49
Sub test3() Dim r As Range
Set r = Range("c6:o68") r.Value = Evaluate("Round(" & r.Address & "/1000, 0)")
End Sub
(マナ) 2020/05/06(水) 22:06
マクロを実行すれば、全ての数字がC6の8549になっています。
よろしくお願いいたします。
(愛子) 2020/05/06(水) 22:39
そうですか?
では、これで。
Sub test4() Dim r As Range
For Each r In Range("c6:o68") r.Value = WorksheetFunction.Round(r.Value / 1000, 0) Next
End Sub
(マナ) 2020/05/06(水) 23:07
RoundはVBAにもありますので頭の片隅にでも置いておいてください。
Sub TestX() Dim r As Range For Each r In Range("A1:A6") r.Offset(, 1).Value = WorksheetFunction.Round(r.Value / 1000, 0) r.Offset(, 2).Value = Round(r.Value / 1000, 0) Next End Sub
_____ ______ __ __ |_____|___A__|_B|_C| |___1_| 500 1 0 |___2_| 1,500 2 2 |___3_| 2,500 3 2 |___4_| 3,500 4 4 |___5_| 4,500 5 4 |___6_| 5,500 6 6
(チオチモリン) 2020/05/07(木) 11:04
こんばんは! >例えば15,678は、15,000ではなく 15 にしたかったのです。
普通にRoundして表示だけ 15 にするとか。。 表示した 15 を値にするとかもあります。。。 チオチモリン さんのコードをお借りして。。。
Sub TestX() Dim r As Range For Each r In Range("A1:A6") r.Offset(, 1).Value = WorksheetFunction.Round(r.Value / 1000, 0) r.Offset(, 2).Value = Round(r.Value / 1000, 0) r.Offset(, 3).Value = Round(r.Value, 0) r.Offset(, 3).NumberFormat = "###," r.Offset(, 4).Value = r.Offset(, 3).Text Next End Sub (SoulMan) 2020/05/07(木) 21:22
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.