私は、会社が協力しているビジネスに関する多くの情報を含む大きなExcelファイルを使用しています。別の大きなExcelファイルをインポートしたところ、形式が異なっていました。すでにある大きなファイルには、住所、州、郵便番号が別々の列にあり、それぞれ2つの間隔で次のようになっています。
私はこのスプレッドシートを作成しなかった、さもなければそのような列を配置しなかったでしょう、しかしそれはそれで働く女性がそれを好きな方法です。
問題は、インポートしたシートの都市、州、郵便番号の情報がすべて同じセルに次のように含まれていることです。
ニューヨーク州トロールビル12345
新しい州の99%がすべて同じ州であり、すべてをすばやく見つけて置き換えることができたので、私はすでに州を超えています。私は今これを残しています
トロールビル12345
その郵便番号を4列右の適切なセルに移動したいと思います。基本的な正規表現を作成しましたが、Excel-vbaを何年も使用していないため、あまり詳しくありませんが、これが私が思いついたものです。一致するもの(配列にしたもの)を適切な列に出力するようにvbaに指示する方法がわかりません。これは私がこれまでに持っているものです:
Function findZipCode(zipCode)
Dim regEx As New VBScript_RegExp_55.RegExp
Dim matches, s
regEx.Pattern = "\s\d{5}\W"
regEx.Global = True
s = ""
If regEx.Test(zipCode) Then
Set matches = regEx.Execute(zipCode)
For Each Match In matches
s = s & Match.Value
Next
findZipCode = s
Else
findZipCode = ""
End If
End Function
何を追加する必要がありますか?これを行うためのより簡単な方法があれば、私も別の方法を受け入れます。
アドバイスをよろしくお願いします