質問

私はエクセルVBAで文字列のセル列を解析したいと思い、セルのそれぞれには、以下が含まれます:

2 '␂'

私は、このような情報を解析する最も簡単な方法は何だろう。単に「文字列」の前に2(または任意の数字のみを含むように、このセルの内容を変更したいと思います?ありがとうます。

役に立ちましたか?

解決

あなたがフォーマットについて確信している場合は、 '(アポストロフィ)の前に文字列を検索&セルの値を変更します。 この値を持つセル上にあると仮定すると、次のVBAコードを使用します。

activecell.text = mid(activecell.text, 1, instr(1, activecell.Text, "'")-1)

これは、アポストロフィを探し、その前に文字を抽出&現在のセルに格納します。

他のヒント

数値データは、セルの開始時に常にあると仮定すると、あなたはそれが最初の非数値文字を打ついったん停止し、文字列の先頭に任意の連続した数字を見つけるために正規表現を使用することができます。ここで私はそれが役に立てば幸い、あなたのためにそれを行います関数です。 ^(\ dは+)セルの開始を意味し、1つ以上の数字を意味して。*ゼロ以上の文字が続くことを意味します。私はあなたが必要とする数字の唯一の1つの文字列があると仮定していますので、私は正規表現がちょうど部分マッチ0(最初の試合を)返しています。

Function ExtractNumericData(ByVal text As String) As String

Application.ScreenUpdating = False
Dim allMatches As Object
Dim RE As Object
Set RE = CreateObject("vbscript.regexp")

RE.Pattern = "^(\d+).*"
RE.Global = True
Set allMatches = RE.Execute(text)
ExtractNumericData = allMatches.Item(0).submatches.Item(0)
Application.ScreenUpdating = True

End Function
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top