ExcelVBAの文字列操作についての質問です。


〒 000-0000 ○○県○○市○○区○○1丁目1-1[MAP]

こういう文字列があります、全角スペースもそのままです。
この文字列を加工して、

○○県○○市○○区○○1丁目1-1

この部分だけを取り出したいと考えています。
VBAの関数を調べてみたのですが、「○文字目から○文字削除」という関数がない?ようです。

住所の部分(取り出したい文字列)は文字数がそのつど変わりますが、
切り捨てたい部分(〒 000-0000 ,[MAP])の文字数は常に一定です。

何かアドバイスを頂けると助かります。
よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2008/01/14 21:17:40
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:garyo No.1

回答回数1782ベストアンサー獲得回数96

ポイント60pt

mid関数が使えます

a = "〒 000-0000 ○○県○○市○○区○○1丁目1-1[MAP]"

Mid(a, 11, 18)

id:southgate_01

解答ありがとうございます。


このやり方ですと、切り出す住所の文字数がそのつど変わるために対応できません。

もう諦めて、他のエディタで正規表現で置き換えることにしました。

2008/01/14 21:17:18
  • id:southgate_01
    southgate_01 2008/01/14 21:21:32
    文字列は複数あり、数百件あるデータの処理でした。
    説明が不足してすいませんでした。
  • id:SALINGER
    Mid(a,12,Len(a)-16) でいいですね
  • id:garyo
    a = "〒 000-0000 ○○県○○市○○区○○1丁目1-1[MAP]"
    先等から削除する文字数とhead
    最後から削除する文字数をtailとすると
    mid(a,head,len(a)-tail-head) のような形になるかも知れませんね。
  • id:Yoshiya
    もしも文字列の先頭が「〒 000-0000 」であり、最後が「[MAP]」で固定されているのであれば

    mid(加工前のセル,12,len(加工前のセル)-16)

    で住所だけ抜き出せるはずです。
    一度お試し下さい。
  • id:southgate_01
    southgate_01 2008/01/14 22:01:27
    みなさま、たくさんのコメントを頂きありがとうございます。
    質問前にもあれこれやっていて、面倒くさくなって正規表現に逃げました。

    が、もう1回やってみようと思います。
  • id:southgate_01
    southgate_01 2008/01/14 22:07:31
    皆さんのやり方でいとも簡単に出来てしまいました。
    ありがとうございました。


この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません