タミは、すべてのワークブックで「表示された精度に設定」を有効にすることを強く望んでいます。彼女は給与計算を行い、すべての計算にドルを使用します。この設定が有効でなく、彼女が手動で電卓を使用してワークシートの計算を再確認すると、多くの場合、数セントずれます。唯一の解決策は、設定がオンになっている場合です。その後、すべてが一致します。タミが作成するすべてのワークブックでこれを行うのは面倒なので、タミはこの設定を永続的にオンにする方法があることを望んでいます。

Excel自体で永続的にオンにする方法はありませんが、マクロを使用してオンにすることはできます。たとえば、次のマクロをブックに追加できます。

Private Sub Workbook_Open()

ThisWorkbook.PrecisionAsDisplayed = True End Sub

マクロは、このワークブックモジュールに配置する必要があります。これにより、ワークブックが開かれるたびに実行されます。必要に応じて、これを新しい空白のブックに追加し、そのブックをBook.xltmという名前のテンプレートとしてXLStartフォルダーに保存することもできます。これにより、Excelの場合、新しいブックを作成するときに使用するデフォルトのテンプレートが指定されます。したがって、すべての新しいワークブックには、精度を設定するためのこの単純な1行のマクロが含まれます。

そうは言っても、多くの人は、[表示として精度を設定]オプションをオンにすることさえしないよう強く勧めています。どうして?ブック内のデータに永続的に影響するためです。たとえば、次の小さな演習を試してください:

。ワークシートのセルの表示を小数点以下5桁に設定します。 (セルB3を使用してこれを行っているとしましょう。)

。 Set Precision AsDisplayedがオンになっていることを確認してください。

。セルB3に値1.23456を入力します。

。次に、セルB3の表示を小数点以下2桁に変更します。これで1.23と表示されます。

。ここでも、セルB3の表示を小数点以下5桁に戻します。これで1.23000と表示されます。

これらの最後の桁(456)はなくなり、永久に失われます。それらは回復できません。数式を調整してROUND関数を含めると、小数点以下2桁への丸めが、どこでもではなく、必要な場合にのみ実行されるようにすることをお勧めします。

Set Precision As Displayedを使用することにした場合は、ワークブックごとに設定を変更する簡単な方法を設定する方がよい場合があります。これは、パーソナルワークブックに追加された単一のマクロで実行できます:

Sub TogglePrecision()

Dim sTemp As String

sTemp = "Precision as Displayed has been "

With ActiveWorkbook         If .PrecisionAsDisplayed Then             .PrecisionAsDisplayed = False             sTemp = sTemp & "DISABLED"

Else             .PrecisionAsDisplayed = True             sTemp = sTemp & "ENABLED"

End If     End With     MsgBox sTemp End Sub

これで、マクロをクイックアクセスツールバーに追加し、クリックして設定のオンとオフを切り替えることができます。マクロは、設定を現在設定されているものから切り替えるだけで、設定の新しく変更された状態を示すメッセージを表示します。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(13765)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。