• ベストアンサー

EXCEL 2つの決まった文字列の間を自動的に範囲選択

下のような表があるとします。   A  B  C  D  E  F 1 いか 2 たこ ・  ・ ・ 8 たい 9 ひらめ この中からA行にある”たこ”(A2)という文字列を検索して、そこから”たい”(A8)という文字列のある右5行のF行まで(A2:F8)を自動的に範囲選択するような、決まった行にある決まった2つの文字列の間+決まった行までを範囲選択するマクロを作りたいのですが上手く行きません。 何卒、お知恵をお貸し下さい。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

質問の意味とあっているか疑問ですが、参考例です。 Sub areaSelect()   Dim startRg As Range '最初のセル   Dim endRg As Range '最後のセル   Set startRg = Range("A:A").Find("たこ")   Set endRg = Range("A:A").Find("たい")   With startRg     Range(.Offset(0, 0), .Offset(endRg.Row - .Row, 5)).Select   End With End Sub

suika_no1
質問者

お礼

ありがとうございます。上手く行きました。 単純な事とは思いながら、動いてくれなくて困ってました。勉強になりました。 本当にありがとうございます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

sheet1の任意のセルにaとbを入れた時、そのセルを対角2隅 とする範囲を選択します。 Sub test01() Dim a As Range Set a = Cells.Find(What:="a", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) x = a.Row y = a.Column Set a = Cells.Find(What:="b", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) u = a.Row v = a.Column Range(Cells(x, y), Cells(u, v)).Select End Sub

suika_no1
質問者

お礼

ありがとうございます。ちょっとだけ質問の意味と違いましたが、別のことで使えそうです。メモメモ。 本当にありがとうございます。今回は2番手という事でご勘弁を。(^^;

回答No.1

はじめまして。 2つの文字列というのは、例えば"たこ"と"たい"というように文字が決まっているのですか。それとも"いか"と"ひらめ"とか"たこ"と"ひらめ"というように、任意の2文字を使いたいのですか。それによってコードが違ってきます。 その点についてお知らせ下さい。私でよろしければ、サンプルマクロを作ってみたいと思います。 お手数をおかけいたしますが、よろしくお願いいたします。

suika_no1
質問者

お礼

スミマセン。決まった文字で任意の文字ではなかったのですが、私が書き込みをする前に、他に回答が出てしまいました。 お気を遣っていただき、本当にありがとうございます。