アプリ版:「スタンプのみでお礼する」機能のリリースについて

EXCEL2013です。
たくさんのセルに小数点以下が表示された数値が入っています。
ROUNDDOWN関数を使うと、そのセルを他のセルから参照させて切り捨てることはできますが、
現在入っている数値をマクロや書式設定などで、そのセル内でそのまま小数点以下を切り捨てた数値を
表示させたいのですが、どんなやり方がありますでしょうか。
どなたか教えてください。
よろしくお願いします。、

質問者からの補足コメント

  • このような表です。もっとたくさんのセルに数値が入っています。

    「EXCELでセルの数値をすべて小数点以下」の補足画像1
      補足日時:2021/05/01 21:40

A 回答 (6件)

単純にカーソルがあるセルの数値を小数点以下切り捨てであれば、


下記のマクロではどうでしょうか?

Sub 小数切捨()
If WorksheetFunction.IsNumber(ActiveCell.Value) Then
ActiveCell.Value = Fix(ActiveCell.Value)
Else
MsgBox "エラー:セルの内容が数値ではありません。"
End If
End Sub

あとは、実際にどういうシートなのか写真でもあればいいのですが。
    • good
    • 0
この回答へのお礼

ありがとうございます。
Sub 小数切捨()
ThisWorkbook.Activate
Sheets(1).Select
If WorksheetFunction.IsNumber(ActiveCell.Value) Then
ActiveCell.Value = Fix(ActiveCell.Value)
Else
MsgBox "エラー:セルの内容が数値ではありません。"
End If
End Sub
このように構文を書いてみましたが、間違っているのでしょうか。
小数点以下が消えず、MSGBOXのエラーメッセージが出ました。

お礼日時:2021/05/01 21:46

画像を添付しましたが「.00→.0」というボタンがあります。


B列、C列、D列、・・・、G列には同じデータが入っています。
「.00→.0」ボタンを1回クリックすると、小数点以下の表示桁数が1桁少なくなります。
「EXCELでセルの数値をすべて小数点以下」の回答画像2
    • good
    • 0
この回答へのお礼

ありがとうございます。表にマクロで数値をコピーして、その流れで小数点以下を切り捨てたいのです。
参考にさせていただきます。貴重なご意見ありがとうございました。

お礼日時:2021/05/01 21:27

函数でなくて、書式設定ではダメですか。


表示させたいセルを選択して、
リボンの「書式」から 一番下の「セルの書式設定」。
2番目の「数値」から 一番上の「小数点以下の桁数」で指定すれば。
    • good
    • 0
この回答へのお礼

四捨五入ではなく、切り捨てで処理をしたいのです。
ありがとうございました。

お礼日時:2021/05/01 21:28

表示形式では切り捨てはできません。


実際に試すとおわかりかと思いますが四捨五入のみとなります。
別セルで関数にするか、マクロを組むかになります。
    • good
    • 0
この回答へのお礼

ありがとうございます。言われるとおり、四捨五入です。
やはりマクロですね。

お礼日時:2021/05/01 21:29

訂正後の構文は間違っていますよ。



ちなみに・・・。
>もっとたくさんのセルに数値が入っています。
これはどういう事でしょうか?
B列とC列で行(写真だと2~14)が15以降たくさんあるという事ですか?それとも、C列以降のD列やE列もあるということでしょうか?
    • good
    • 0
この回答へのお礼

早速ありがとうございます。
やはりまちがっていますか;
それと、たくさんとは、C列以降Y列まで入っています。
この範囲の数値をすべて小数点以下は切り捨てたいのです。

よろしくお願いします。

お礼日時:2021/05/01 22:12

'下記ではどうでしょうか?


'ファイルが上書き等されないようにバックアップしてから試してみてください。
'B~Y列の3-14行のセルが対象です。
Sub 小数切捨()
Dim myRow As Integer
Dim myCol As Integer

Dim 列目から As String
Dim 列目まで As String

Dim 行目から As Integer
Dim 行目まで As Integer

列目から = "B"
列目まで = "Y"

行目から = 3
行目まで = 14

For myRow = 行目から To 行目まで
For myCol = Asc(列目から) To Asc(列目まで)
Cells(myRow, myCol - 64).Value = Fix(Cells(myRow, myCol - 64).Value)
Next
Next
End Sub
    • good
    • 0
この回答へのお礼

ぽち101さん
完璧です!!小数点以下がすべて切り捨てできました。
ありがとうございました。
とてもたどり着けませんでした。

お礼日時:2021/05/02 06:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!