
No.3
- 回答日時:
No.2です。
>worksheetfunctionを使わない方法で・・・
というコトですので、↓のような感じではどうでしょうか?
Sub Sample3()
Dim i As Long
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
Cells(i, "B") = Round((Cells(i, "A") + 0.5) / 10, 0) * 10
Next i
End Sub
※ 細かい検証はしていませんので、
お望み通りにならなかったらごめんなさいね。m(_ _)m
No.2
- 回答日時:
こんにちは!
>VBAで一桁目を四捨五入する方法を教えてください。
普通にやるとワークシート関数のROUND関数で大丈夫だと思いますが、
わざわざ「VBAで・・・」と質問されているのは
「算術型」の丸めではなく、「銀行型」の丸めをお望みなのでしょうか?
仮にA1セル以降にデータがあり、B列に丸めた結果を表示したい場合は
普通にワークシート関数をそのまま使うのが手っ取り早いので
Sub Sample1()
Dim i As Long
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
Cells(i, "B") = WorksheetFunction.Round(Cells(i, "A"), -1)
Next i
End Sub
といった感じになると思いますが、
「銀行型丸め」(VBA)をご希望の場合は、整数部分での丸めはできないはずですので
一旦10で割り、小数点以下第一位を丸める → その結果を10倍する
といった方法にしてみてはどうでしょうか?
Sub Sample2()
Dim i As Long
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
Cells(i, "B") = Round(Cells(i, "A") / 10, 0) * 10
Next i
End Sub
※ 一の位が「5」の時が要注意です。
Sample1 と Sample2 で比較してみてください。
元データが「12345」の時、
Sample1では 12350 となりますが、
Sample2では 12340 になります。
自分もその違いを詳しく説明できないので、
ネットで「銀行型丸め」で検索してみてくだい。m(_ _)m
No.1
- 回答日時:
Excel なら
v=-22.5
msgbox worksheetfunction.round(abs(v),-1)* iif(v>0,1,-1)
では?
次回からは使用ソフトウェア名とバージョンを明記してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでround関数を使わないで四捨五入する方法 10 2022/08/12 15:43
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/02/02 13:13
- 教育学 エクセルで小数点以下を四捨五入について教えてください。 2 2023/04/05 17:33
- 高校 x,yを正の数とする。x,3x+2yを少数第一位で四捨五入すると、それぞれ6,21になるという。yの 1 2023/04/05 23:32
- Excel(エクセル) 図書カードの分配 7 2023/05/09 15:57
- 数学 x、yを整数とする。x、3x+2yを少数第一で四捨五入すると、それぞれ6、21になるという。 ⑴xの 4 2023/04/30 16:50
- 数学 少数の割り算 8 2022/07/09 08:58
- 統計学 解き方が分かるくて質問しました。 連続型確率分布 f(x) = 3/4(1 − x^2), − 1 2022/07/21 22:48
- 統計学 統計学 データサイエンスの問題 1 2023/01/22 20:16
- 統計学 教えてください! あるくじ引きには5枚に1枚の割合でアタリが入っていると宣伝しているが、実際には20 7 2023/05/29 09:10
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelマクロのエラーを解決した...
-
エクセルVBA Ifでシート名が合...
-
【部分一致した行を含む8行をシ...
-
ユーザーフォームに入力したデ...
-
ExcelのVBAを使い、複数シート...
-
IFステートの中にWithステート...
-
複数シートに色付きセル(条件つ...
-
VBAで指定シート以外の選択
-
VBAマクロでシートコピーした新...
-
エクセルVBA 別シート間の列の...
-
シート削除のマクロで「delete...
-
VBA 検索して一致したセル...
-
VBA 指定した回数分、別シート...
-
実行時エラー1004「Select メソ...
-
【VBA】特定の文字で改行(次の...
-
ブック名、シート名を他のモジ...
-
userFormに貼り付けたLabelを変...
-
実行時エラー'1004': WorkSheet...
-
【VBA】全ての複数シートから指...
-
Excel VBAでのシートの削除につ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字を含むシートだけマ...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
ユーザーフォームに入力したデ...
-
実行時エラー'1004': WorkSheet...
-
XL:BeforeDoubleClickが動かない
-
エクセルVBA Ifでシート名が合...
-
実行時エラー1004「Select メソ...
-
エクセルのシート名変更で重複...
-
【ExcelVBA】全シートのセルの...
-
VBA 存在しないシートを選...
-
ブック名、シート名を他のモジ...
-
Excel チェックボックスにチェ...
-
VBA 検索して一致したセル...
-
エクセルで通し番号を入れてチ...
-
シートが保護されている状態で...
-
【VBA】特定の文字で改行(次の...
-
ExcelのVBAのマクロで他のシー...
-
Worksheet_Changeの内容を標準...
-
EXCELVBAを使ってシートを一定...
おすすめ情報