【EXCEL】マクロで有効数字を揃えたい
・有効数字を揃えるのが面倒くさい。
・例えば、0.101、0.000345、1.234などのレンジの広いデータが大量にあった場合、有効数字を揃えて表示するのが非常に面倒なことになる。
・有効数字を2桁に揃える場合、少数で表示するならば0.10、0.00035、1.2となる(指数表示に関してはいったんおいておく)。
・書式の変更をデフォルトの関数でやることは難しいので、書式を変更するマクロを作成した(以下)。
Sub 有効数字書式()
Dim i, j, keta As Long
Dim y As Single
Dim z As String
On Error GoTo myError
'有効数字の桁数の設定(今回は2桁)
keta = 2
'とりあえず桁を小数点第一位でリフレッシュ(0でバグが出るので)
For i = 1 To Selection.Count
Selection(i).NumberFormatLocal = "0." & 0
Next i
'有効数字書式を設定
For i = 1 To Selection.Count
If Selection(i).Value + 0 = 0 Then
Selection(i).NumberFormatLocal = "0." & 0
Else
y = Log(Selection(i).Value) * (-1) / Log(10) + keta - 2
z = "0"
j = 0
For j = 0 To y
z = z & "0"
Next j
Selection(i).NumberFormatLocal = "0." & z
End If
Next i
myError:
End Sub
・NumberFormatLocal というので表示桁数を設定できるらしい。
・使用する際は、①有効数字を2桁に揃えたいセルを囲い、②マクロを実行する。
・マクロ実行前⇒マクロ実行後
・動作不良、その他不利益に関して、当方は一切補償しない。
・終わり