電子書籍の厳選無料作品が豊富!

下記のコードは以前教えて頂いたコードで
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Dim RE As Object
Set RE = CreateObject("VBScript.RegExp")
RE.Pattern = "^\d+$"
If Not Intersect(Target, Range("$C$22")) Is Nothing Then
If RE.test(Range("$C$22").Value) = True Then
Call 増築建物階数図表示
End If
End If
End Sub
セル値C22に半角英数字が入力されるとマクロ「増築建物階数図表示」が実行されrます。
セル値C22に「10.00」とか「20.00」とかを入力すると上手くマクロが実行されますが
セル値C22に「10.25」とか「20.01」とかのように小数点第1・2に数字が入力されると
上手くマクロが実行されません。
解決方法を教えてください。
尚、セルC22には、書式「0.00"㎡";@」
を設定しております。
よろしくお願いします。

A 回答 (1件)

If RE.test(Range("$C$22").Value) = True Then



If IsNumeric(Range("$C$22").Value) Then
に変えてください。
下記3行は不要となります。
Dim RE As Object
Set RE = CreateObject("VBScript.RegExp")
RE.Pattern = "^\d+$"
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
親切にコードを教えていただきまして、ありがとうございます。
上手く出来ました。
感謝いたします。

お礼日時:2025/01/20 17:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A