@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

EXCELでセルの値を切り捨て(表示上だけ)をしたい

1
投稿者投稿内容
はやし
常連さん
会議室デビュー日: 2007/10/31
投稿数: 23
投稿日時: 2008-06-27 18:56
いつもお世話になっています、はやしと申します。

環境はwinXPでEXCELは2000を使っています。

やりたい事はセルの書式設定で小数点以下を切り捨て表示するという事です。
因みに値そのものは変えずにあくまでも表示だけを切り捨てとしたいのです。

ここに投稿させて頂く前に、何かいい方法がないか調べて、ユーザ定義型の種類に
「#,##0・.000」と書き、「・」のところでCtrl+Jで改行し、セルに値が入力されたときには表示上整数部しかないように見えるという方法を見つけました。

しかし、この場合小数部の桁数が大きくなると、かなりセルの幅を広げなければ
正しく表示出来ない為、使えませんでした。

また、他のサイトでは以下のようなサンプルコードも見つけ、試してみました。
コード:
Public Sub TruncCurrentRegion()

Dim c As Range, cv, acv

    For Each c In ActiveCell.CurrentRegion
        If IsNumeric(c.Value) Then
            cv = Int(c.Value)
            acv = Abs(cv)
            c.NumberFormatLocal = ”[>=” & cv & ”]””” & acv & ”””;”
        End If
    Next
End Sub



これを試したところ、値はそのままで切り捨て表示は出来たのですが、
その後直接セルを変更した際に、値が消えてしまいました。



最終手段としては、セルの変更イベントを拾って、内部で持っている元値情報を
使って書き換えようと思います。
しかし、シートの情報量が多く、制御が大変そうなのでこれをやる前にもっと
簡単な方法がないかと思い投稿させて頂きました。

どうぞ宜しくお願いします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-06-27 20:52
表示だけという意味であれば式を使って参照するなんてのもありですか。
=INT([A1])

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
こあら
大ベテラン
会議室デビュー日: 2007/06/26
投稿数: 157
投稿日時: 2008-06-28 11:13
セルの書式設定 > 表示形式タブ > 数値 > 小数点以下の桁数に「0」を選択してOKすると、
NumberFormatLocal = "0_ " が設定されます。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-06-29 16:59
引用:

こあらさんの書き込み (2008-06-28 11:13) より:

セルの書式設定 > 表示形式タブ > 数値 > 小数点以下の桁数に「0」を選択してOKすると、
NumberFormatLocal = "0_ " が設定されます。


それは切り捨てにはならないと思いますが...

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
はやし
常連さん
会議室デビュー日: 2007/10/31
投稿数: 23
投稿日時: 2008-06-29 23:35
じゃんぬねっとさん、こあらさんお返事ありがとうございます。

じゃんぬねっとさんがおっしゃった=INT([A1])のやり方だと、そのセルの数値を直接変更出来ないので残念ですが使えないのです。

こあらさんのおっしゃった書式設定ですと、じゃんぬねっとさんが言うように切り捨てにはならず、四捨五入になってしまいます。


やっぱり難しいのでしょうか・・・
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2008-06-30 09:34
ふつうそういった仕様の場合、入力と表示は物理的に分けると思うんですが。
独覚
会議室デビュー日: 2008/06/30
投稿数: 1
投稿日時: 2008-06-30 10:07
引用:
ここに投稿させて頂く前に、何かいい方法がないか調べて、ユーザ定義型の種類に
「#,##0・.000」と書き、「・」のところでCtrl+Jで改行し、セルに値が入力されたときには表示上整数部しかないように見えるという方法を見つけました。

しかし、この場合小数部の桁数が大きくなると、かなりセルの幅を広げなければ
正しく表示出来ない為、使えませんでした。



セルの書式の「配置」タブで「縮小して全体を表示する」「折り返して全体を表示する」の順でチェックを入れると
セルの幅を広げなくてもよくなりますよ。
はやし
常連さん
会議室デビュー日: 2007/10/31
投稿数: 23
投稿日時: 2008-06-30 11:55
[解決]
mioさん、独覚さん お返事ありがとうございます。

mioさん
ご指摘ありがとうございます。
ただ入力と表示を物理的に分ける事無く済むのであればという事で、方法を探していたので・・・。

独覚さん
独覚さんのおっしゃったように先に縮小の全体表示をチェックしたところ、上手く行きました。私の理想通りです。


皆さんお力添えありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)