住所を県名とそれ以外に分離するには?

Question 63.9 Excel VBA Borad (掲示板)より Previous Next
簡単なことかもしれませんが... 例えば、
元データ セル[A1]に「○○県××市△△町1234」という住所が記入してあります。
やりたいことは次のことです。
------------------------------
(1) この県名だけを取得し、セル[A2]に県名を記入

(2) セル[A1]の「○○県」の部分のみクリア(つまり、セル[A1]は「××市△△町1234」となる)
------------------------------
(1)の作業はできました。(以下のコード)
Dim A As Integer
「県」の位置を取得
    A = Application.WorksheetFunction.Search("県", Range("A1"), 1)
    Range("A2").Value = Left(Range("A1").Value, A - 1)
(2)の作業ができずに困って、多少無駄なコードもあるかもしれませんが、下記のとおり作成しました。
Dim A As Integer
Dim Ken, K_igai As String
「県」の位置を取得
    A = Application.WorksheetFunction.Search("県", Range("A1"), 1)
県名を[Ken]とし、県以降の文字列を[K_igai]とする
    Ken = Left(Range("A1").Value, A - 1)
    K_igai = Application.WorksheetFunction.Substitute _
        (Range("A1").Value, Ken, "")
    Range("A1").Value = K_igai
    Range("A2").Value = Ken
この方法以外で、何かいい方法があれば教えて下さい。
Answer   2003.6.12 もてもて
こんにちは、もてもてです。
A1に"県"の文字が残るようですが、いいのかな?
マクロ実行後 他には、文字数を取得して処理するとかの方法もあるかも。
Dim A As Integer
Dim Ken, K_igai As String
「県」の位置を取得
    A = Application.WorksheetFunction.Search("県", Range("A1"), 1)
県名を[Ken]とし、県以降の文字列を[K_igai]とする
    Ken = Left(Range("A1").Value, A - 1)
    K_igai = Application.WorksheetFunction.Substitute _
        (Range("A1").Value, Ken, "")
    Range("A1").Value = K_igai
    Range("A2").Value = Ken

 

Excel VBA Macro