プロが教えるわが家の防犯対策術!

マクロでエクセルで選択した範囲の単位を消したいのですがどのようにすればよいでしょうか。
"1.79 cm 2", "13.0 mmHg"などを"1.79","13"のようにしたいです。

A 回答 (2件)

こんばんは!


一例です。

Sub Sample1()
Dim k As Long, c As Range, myFlg As Boolean
Dim str As String, buf As String
For Each c In Selection
If c <> "" Then
For k = 1 To Len(c)
str = Mid(StrConv(c, vbNarrow), k, 1)
If str Like "[.0-9]" Then
myFlg = True
Exit For
End If
Next k
If myFlg = True Then
Do
str = Mid(StrConv(c, vbNarrow), k, 1)
buf = buf & str
If Not str Like "[.0-9]" Then Exit Do
k = k + 1
Loop
End If
If Len(buf) > 0 Then
c = Val(buf)
buf = ""
End If
End If
Next c
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

ありがとうございます。ばっちりです。

お礼日時:2015/05/31 23:21

Sub ボタン1_Click()


On Error Resume Next
Dim r As Range
For Each r In Selection
x = 0
For i = 1 To 5
If VarType(Mid(r.Value, i, 1) * 1) = vbString Then
If Mid(r.Value, i, 1) <> "." = vbString Then Exit For
End If
x = x & Mid(r.Value, i, 1)
Next
r.Value = x * 1
Next
End Sub

で一度試してみてください。
数値は5ケタまでです。
    • good
    • 0
この回答へのお礼

ありがとうございます。できました。

お礼日時:2015/05/31 23:21

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