• ベストアンサー

文字列の分離方法

お世話になります。 エクセルで下記の様な数字とアルファベットが組み合わさった 文字列を数字とアルファベットに分離させたいのですが、 VBAでそれをする場合、どの様な記述をすれば宜しいでしょうか。   記 ・154AC ・2298BCZ ・80X

質問者が選んだベストアンサー

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

一例です Sub test() Dim a, b a = "154AC" a = StrConv(a, vbNarrow) b = Val(a) MsgBox b MsgBox Right(a, Len(a) - Len(b)) End Sub

miruchoko
質問者

補足

ありがとうございました。 大変参考になりました。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

数字は数字のままで良しとして。 Sub try() Dim RegExp As Object Dim v(1 To 3) As Variant Dim i As Integer Set RegExp = CreateObject("VBScript.Regexp") RegExp.Pattern = "[0-9]+" RegExp.Global = True v(1) = "154AC" v(2) = "2298BCZ" v(3) = "80X" For i = 1 To 3 MsgBox v(i) & vbLf & RegExp.Execute(v(i))(0) & vbLf & Replace(v(i), RegExp.Execute(v(i))(0), "") Next Set RegExp = Nothing End Sub 例えばこんな感じとか。

miruchoko
質問者

補足

ありがとうございます。 大変参考になりました。 教えて頂きました記述はかなり高度な物を感じます。 私はまだまだ勉強不足に思いました。 これからもがんばっていきたいと思います。

関連するQ&A

専門家に質問してみよう