私は、小数点以下 2 桁の数字を扱う作業を頻繁に行っています。私の足し算機には、123456 のような数字の文字列を入力できる優れた機能があり、自動的に小数を挿入して 1234.56 と表示します。Excel には、高度なオプションの下に小数を自動的に入力する機能がありますが、これはグローバル オプションであるため、あまり役に立ちません。そこで、App_SheetChangeイベント ハンドラー用の VBA コードをセットアップしました。このコードは、小数点以下 2 桁の数値を表示するように書式設定されたセルに対してのみ実行されます。そうすれば、必要のない小数を取得できません。コードはとてもシンプルです。次のようになります。
If InStr(sFormat, "0.00") > 0 Then
If InStr(".", Source.Formula) = 0 Then
If IsNumeric(Source.Formula) Then
s = "00" & Source.Formula
s = Left(s, Len(s) - 2) & "." & Right(s, 2)
App.EnableEvents = False
Source.Formula = CDbl(s)
App.EnableEvents = True
End If
End If
End If
これは、データを入力するときには十分に機能しますが、別のセルからデータをコピーすると、小数点の後に有効数字がある場合は機能しますが、ゼロの場合は機能しません。データがセルに入力されているか、クリップボードから貼り付けられているかを確認する方法はありますか?