|
TOKU さん、こんばんわ。
>実行してみましたが選択した範囲の全てが同じように変換されてしまいます。
分岐の仕方が間違ってるからだと思います。
>あと書き忘れていましたが少数第1位に桁上げした際、
>データ自体の少数第2位以降はゼロにしたいです。
書式ではなく、内容も変更する必要があります。
>>▼TOKU さん:
>>
>>こんにちは
>>
>>ザットしか見てませんが、
>>>インプットボックスを使って選択した範囲のセルに対して
>>>0.04より大きい値は小数第1位で表し、0.04以下は小数第2位で表したい。
>>>といった小数桁数を自動変換させたいのですがうまく行きません。
>>>
>>>
>>>下記にコードを書きましたのでどなたかご指導下さい。
>>>
>>>Sub 少数桁数自動表示()
>>>
>>> Dim myAns As Variant
>>> On Error Resume Next
>> dim r as range
>>>
>>> Set myAns = Application.InputBox("少数桁数自動表示したい箇所をマウスで選択してください。", Type:=8)
>>> If myAns Is Nothing Then Exit Sub
>>> myAns.Activate
>> for each r in myans
>> 'それぞれのセルにおいて判断して処理
>>
If r.Value > 0.04 Then
r.Value = Application.WorksheetFunction.Round(r.Value + 0.0000001, 1) '「+ 0.0000001」は浮動小数点対策
r.NumberFormatLocal = "0.0_ "
Else
r.NumberFormatLocal = "0.00_ "
End If
next
>>>
>>>End Sub
こんな感じです。
|
|