プロが教える店舗&オフィスのセキュリティ対策術

Excel VBA 数字抽出について
VBAについておしえてください
下記の条件のもと数字のみを抽出して
表示を行いたいのですがプログラム方法を教えていただけないでしょうか

条件
B11-B15セルに下記のように記載がある

100V
1000V
2000V
100A
1000A

これをD11-D15セルに数字だけを抽出したい

※関数では出来るのは知っているのですがこちらの都合でプログラム対応としたいのでよろしくお願いいたします

教えて!goo グレード

A 回答 (2件)

こんにちは!



色々やり方はあると思いますが、一例です。
VBAのコードにそのままワークシート関数を利用してもよいのですが、ループさせる方法です。

Sub Sample1()
Dim i As Long, k As Long, myStr As String
For i = 11 To 15 '//←11行目~15行目まで//
For k = 1 To Len(Cells(i, "B"))
If Mid(StrConv(Cells(i, "B"), vbNarrow), k, 1) Like "[0-9]" Then
myStr = myStr & Mid(Cells(i, "B"), k, 1)
Else
Exit For
End If
Next k
Cells(i, "D") = myStr
myStr = ""
Next i
End Sub

こんな感じではどうでしょうか?

※ 全角数字にも対応できるようにしてみました。m(_ _)m
    • good
    • 0
この回答へのお礼

理想通りになりました お手数をおかけしました

お礼日時:2017/09/14 11:29

その条件なら



Dim r As Range
For Each r In Range("B11:B15")
r.Offset(, 2).Value = Val(r.Value)
Next r

でいいと思います。

> ※関数では出来るのは知っているのですが
数式が分かるならそれをプログラムに組み込むだけだと思いますが……
    • good
    • 1

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

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

教えて!goo グレード

人気Q&Aランキング