• ベストアンサー

エクセルVBAで任意の文字列を抽出するには・・・

エクセル2003で作成した住所録があります。 県名(3文字)のみを抽出して、新たに設けたD列に表示させたいと考えています。 Sub 県名の列作成()  Dim myStr As String  myStr = ActiveCell.Value  Range("D2").Value = Left(myStr,3) End Sub ここまで、できたのですが・・・・ B列の2行目から順に処理をして、一覧表の最後まで行って、 空白セルの行が見つかったら終了させる方法が分かりません。 どうかよろしくお願いします。

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

  • ベストアンサー
  • mar00
  • ベストアンサー率36% (158/430)
回答No.2

Sub 県名の列作成() Dim i As Long For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row Range("D" & i).Value = Left(Range("B" & i), 3) Next i End Sub ではどうでしょうか。 Cells(Rows.Count, "B").End(xlUp).Rowで B列の入力されている最終行までにしています。 途中に空白があっても最後まで実行されます。

oshiete100goo
質問者

お礼

完璧です。ありがとうございました。

その他の回答 (1)

  • suzukikun
  • ベストアンサー率28% (372/1325)
回答No.1

Do while~end do と セルがブランクの時というので検索かけると多分、サンプルのコードが出てくると思います。 ちなみに県名は~県で3文字とは限りませんが、良いんですか?和歌山県とか、鹿児島県とか。

oshiete100goo
質問者

お礼

回答ありがとうございます。 3文字でOKです。 いろいろやってみたのですが「Do while~end do など」 どうしてもうまくいかないのです。

関連するQ&A

専門家に質問してみよう