
No.4ベストアンサー
- 回答日時:
No.3の回答者です。
マクロで対応するとなると、入力するセルが[文字列]であることが
前提です。
そうでないと、取得できる値から0が消えるので。
とりあえず、イベントマクロを作ってみました。
A列を対象にしています。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
Dim s As String
If Intersect(Target, Range("A:A")) Is Nothing Then
Exit Sub
Else
i = Len(Mid(Target.Value, InStr(Target.Value, ".") + 1))
s = String(i, "0")
s = "0." & s
Target.Value = Val(Target.Value)
Target.NumberFormatLocal = s
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A:A")) Is Nothing Then
Exit Sub
Else
Target.NumberFormatLocal = "@"
End If
End Sub
セルを選択すると、[文字列]となります。
値を入れて、[ Enter ]キーで有効桁数の数値になります。
値を入れないで、クリックして[ Enter ]キーだけだと[文字列]の
ままなので、[ F2 ]キーなどで編集状態にして移動してください。
このマクロだと、それぞれのセルで書式設定が違うので、シート内
の書式が多くなります。
データが多くなる場合は、有効桁数を指定する列を作って、それを
もとに条件付き書式を設定したほうが良いと思いますよ。
No.6
- 回答日時:
>表示形式を文字列にするのもあまりしたくないです
最初に、結論から言わせていただくと、それは書式文字列にしなければ、無理だと思います。
No. 2番様の
>書式でユーザ設定で0.00とか0.000にすれば良いかなと思うけど……
そのつど、ユーザーフォームを利用して、書式でマクロで替えるということは可能です。私の知っている範囲ですと、1セルに最後に入力したキーが「、小数点末尾の「0」であるというのは、一般的には取れないはずです。ユーザーフォーのテキストボックスなら可能です。
それと、気になるのが、1バッチのデータの出力の有効桁数が、そのつど変わるということが、データとしてありえるのでしょうか。
4.620
4.62
この違いを数理的に区別が可能なのでしょうか。
もし、記録だけなら、他のメモ帳やMS-Wordにさせたほうが無難だと思います。
この回答へのお礼
お礼日時:2019/06/18 17:58
実験で電圧計など使うのですが、レンジごとに精度が変わるので有効桁数も変わるといった感じですね。末尾の文字で書式を変えるやり方はいいかもしれないですね
No.5
- 回答日時:
No.3の回答者です。
書き忘れていましたが、イベントマクロは入力オンリーです。
複数範囲を選択して値を削除するとエラーになります。
(エラー処理をしていないため)
個々で値を消すと0となり、「0.」が表示されたままになります。
これを残さないようにしたいなら、適宜修正してください。
No.3
- 回答日時:
よくわかりませんが、こういうこと?
[セルの書式設定]の[ユーザー定義]で
0.00########
とする。
(有効桁は適宜増やしてください)
単純に
0.00
と指定すると小数点以下の桁数が増えたときに表示されないので、
その後ろに#を追加して対応しています。
小数点以下がない場合でも、小数点以下に.00が付きます。

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
Excel 数値の前の「 ' 」を一括...
-
VLOOKUP関数を使用時、検索する...
-
リンク先のファイルを開かなく...
-
彼女のことが好きすぎて彼女の...
-
病院側から早く来てくださいと...
-
2つの数値のうち、数値が小さい...
-
血液検査の結果が悪くefgrの値...
-
増減表のプラスマイナスの符号...
-
値が入っているときだけ計算結...
-
小数点以下を繰り上げたものを...
-
腕を見たら黄色くなってる部分...
-
エクセルで数式の答えを数値と...
-
舌の裏の痛みのないプツプツの...
-
MIN関数で空白セルを無視したい...
-
勃起する時って痛いんですか? ...
-
excelでsin二乗のやり方を教え...
-
エクセルで空白セルを含む列の...
-
Excelで列の上4桁のみ抽出させ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
値が入っているときだけ計算結...
-
彼女のことが好きすぎて彼女の...
-
尿検査前日に自慰行為した時の...
-
VLOOKUP関数を使用時、検索する...
-
Excel 数値の前の「 ' 」を一括...
-
精液の落とし方を教えてください
-
【Excelで「正弦波」のグラフを...
-
2つの数値のうち、数値が小さい...
-
風俗店へ行く前のご飯
-
精子に血が・・・
-
リンク先のファイルを開かなく...
-
小数点以下を繰り上げたものを...
-
EXCELで条件付き書式で空白セル...
-
イタリアから帰国する際、肉製...
-
excelでsin二乗のやり方を教え...
-
腕を見たら黄色くなってる部分...
-
病院側から早く来てくださいと...
-
ワードのページ番号をもっと下...
おすすめ情報
例えば測定値が
0.174
4.620
6.74 ←ここで桁が変わる
9.60
といった場合、小数点以下の桁数を3桁にすると、6.74が6.740と余分に有効数字が増えてしまいます。
セルに入力した数字の桁数を取得し、表示形式の桁数をそれに合わせるようなマクロはありますか?