ExcelVBAdeで少数点以下あれば表示

以外にも、小数点以下があれば小数点を表示するというVBAが中々うまくいかなかったので備忘録。(A1が対象セルです)
結論として、入力規則を2つ定義するイメージです。
1つ目は小数点ありの場合、2つ目は小数点がない場合の入力規則です。
Dim xlFormatCondition As FormatCondition, xlFormatConditions As FormatConditions
Dim r As Range: Set r = Range(“A1”)
If r.FormatConditions.Count > 0 Then
For Each xlFormatCondition In r.FormatConditions
xlFormatCondition.Delete
Next
End If
Set xlFormatConditions = r.FormatConditions
‘小数点ありの場合の入力規則
Set xlFormatCondition = xlFormatConditions.Add(Type:=xlExpression, Operator:=xlLess, Formula1:=”=IF(RIGHT(TEXT(A1,””0.#””),1)=””.””,FALSE,TRUE)”)
xlFormatCondition.NumberFormat = “#,##0.#;[赤]-#,##0.##”
xlFormatCondition.SetFirstPriority
xlFormatCondition.StopIfTrue = True
‘小数点無しの場合の入力規則
Set xlFormatCondition = xlFormatConditions.Add(Type:=xlExpression, Operator:=xlLess, Formula1:=”=IF(RIGHT(TEXT(A1,””0.#””),1)=””.””,TRUE,FALSE)”)
xlFormatCondition.NumberFormat = “#,##0;[赤]-#,##0”
xlFormatCondition.SetFirstPriority
xlFormatCondition.StopIfTrue = True

蛇足
入力規則で制限する場合
With Selection.Validation
  .Delete
  .Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertInformation, Operator:= _
  xlBetween, Formula1:=”=A1*100=INT(A1*100)”
  .IgnoreBlank = True
  .InCellDropdown = True
  .InputTitle = “”
  .ErrorTitle = “小数点以下入力桁数エラー”
  .InputMessage = “”
  .ErrorMessage = “小数点以下は2桁まで入力可能です。”
  .IMEMode = xlIMEModeAlpha
  .ShowInput = True
  .ShowError = True
End With
・Type 必ず指定します。入力規則の種類を指定します。
  xlValidateInputOnly:すべての値
  xlValidateWholeNumber:整数
  xlValidateDecimal:小数点
  xlValidateTextLength:文字列(長さ指定)
  xlValidateList:リスト
  xlValidateDate:日付
  xlValidateTime:時刻
  xlValidateCuestcm:ユーザー設定

・AlertStyle 省略可能です。入力規則でのエラーのスタイルを指定します。
  xlValidAlertStop:停止
  xlValidAlertWarning: 注意
  xlValidAlertInformation:情報

・Operator 省略可能です。入力規則での演算子を指定します。
  xlBetween:Formula1とFormula2の間
  xlEqual:Formula1と等しい
  xlGreater:Formula1より大きい
  xlGreaterEqual:Formula1以上
  xlLess:Formula1より小さい
  xlLessEqual:Formula1以下
  xlNotBetween:Formula1とFormula2の間以外
  xlNotEqual:Formula1と異なる

・Formula1 省略可能です。データの入力規則での条件式の最初の部分を指定します。

・Formula2 省略可能です。データの入力規則での条件式の 2 番目の部分を指定します。
引数OperatorがxlBetweenまたはxlNotBetween以外の場合、この引数は無視されます。

参考
https://qiita.com/Q11Q/items/f035b383620eb308bc2b
https://excel-ubara.com/excelvba1/EXCELVBA391.html
https://hipstergate.jp/column/%E3%83%91%E3%82%BD%E3%82%B3%E3%83%B3%E5%BF%8D%E6%B3%95%E5%B8%96%EF%BD%9E%E5%B0%8F%E6%95%B0%E7%82%B9%E4%BB%A5%E4%B8%8B%E3%81%8C%E3%81%82%E3%82%8B%E6%99%82%E3%81%A0%E3%81%91%E8%A1%A8%E7%A4%BA%E3%81%99/

この接続ではプライバシーが保護できません。

ShowCase.siteの証明書にLet’s Encryptを使用しているのだが、90日を過ぎた時点で「この接続ではプライバシーが保護できません。」(NET:ERR_CERT_DATE_INVALID)と表示され、サイトが開けない状態に。
証明書発行の更新はcrontabで自動更新しているので、問題ないはずなのに。
>sudo certbot renew
で手動更新してもかわらず。
試行錯誤後、nginxをリスタートしたら、無事サイトが開けた。
>sudo systemctl restart nginx
crontabは
00 09 1 * * /usr/bin/certbot renew -q –renew-hook “/bin/systemctl reload nginx”
reloadが間違ってたってことか...