• ベストアンサー

エクセルVBAで、条件に一致するセルへ移動

 エクセルVBAでシート内を検索し、条件に一致するセルを選択させたいのですが、どのようにしたら良いでしょうか?  同一データはシート内に一つしか無い前提です。 勉強不足ですみませんが、どなたかご教授お願いします。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 Findメソッドがいいでしょう。 こんな感じ Dim rg As Range Set rg = ActiveSheet.Cells.Find(What:="検索文字列") If rg Is Nothing Then   MsgBox "シート内には見つかりませんでした。" Else   rg.Select End If Findメソッドの詳細は、VBAのヘルプを参照して下さい。

mountain_
質問者

お礼

できました。 ありがとうございました。

その他の回答 (2)

  • taocat
  • ベストアンサー率61% (191/310)
回答No.3

こんばんは。 Findがいいでしょうが、検索範囲が決まってるなら 単純にFor文でまわしてもいいかも。 検索範囲:A1~C100 検索値: セルF1の値 ------------------------------------------------ Sub Test()  Dim Rng As Range  For Each Rng In Range("A1:C100")    If Rng.Value = "検索値" Then      Rng.Activate      Exit Sub    End If  Next   MsgBox "該当なし" End Sub --------------------------------------------- 以上です。

mountain_
質問者

お礼

度々回答頂きありがとうございます。 勉強になります。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

記録マクロで、メニューから検索を使ってみればよいと思います。 Find メソッドが出てくるはずですから、後は、ヘルプで調べてみてください。

mountain_
質問者

お礼

回答頂きありがとうございます。

関連するQ&A

  • Excel VBA ある範囲内で検索条件に一致したデータを入力する

    Excel VBA ある範囲内で検索条件に一致したデータを入力する Excel2003を使用しています。 Sheet2で選択している範囲内のB列のデータがSheet1で選択している範囲内のB列のデータと一致していたら、そのA列のデータをSheet2のA列に入力するというマクロを作成中ですが、うまくいきません…。 Sheet1とSheet2の選択範囲については、このマクロを実行前に都度選択するようにし、A列のデータは日付、B列のデータは数値です。 以前、示していただいたサンプルを参考にコードを書き換えて試していますが、なかなか思うようにいかず、質問させていただきました。 よろしくお願いします。

  • 条件一致するセルを異なるブックへコピーするには…

    EXCEL VBAで条件に一致するセルを別のブックの複数のシートへコピーして 貼りたいのですが、どのようにしたらよいか教えて下さい。 (1)のブック、A列と、(2)のブックA列には順番はバラバラですが、同じデータ(数字とアルファベットの番号が入っています)これを元に、(1)のブックのK列のデータを(2)のブックシートa~dのY列に貼りたいのです。(シートa~dにはそれぞれ異なるデータが入っていますが、列数は一緒です。A列に入っているデータも(1)のブックと一緒です。) お詳しい方どうかどうか宜しくお願い致します。

  • エクセルVBAでセルに色を付けるには

    エクセル2010の質問です。 例えばA列に入力した文字のバイト数が38より多い場合、セルに色を付けたいのです。 条件付き書式で =LENB($A2:$A1048576)>38 でもよかったのですが シート内のデータをクリアすると条件付き書式までクリアされてしまい困っています。 VBAで出来るのが一番なのかなと思っていますが、ご教授お願い致します。

  • エクセルで一致しないセルを選択したい

    エクセルで一致しないセルを選択したい エクセル2003を使用しています。OSはWINDOWS XPです。 エクセルのセルに045から始まる数字の文字列が5000件くらい入力されているのですが、中にたまに03とか06とかから始まる違う数字が混じっています。 その03や06で始まるセルをすべて空白にしたいのですが、検索をかけても予測もしない数字(0467とか093とか)があるので、効率的ではないため、 「045から始まらないセルを選択して削除」したいのですがctrl+Fを押しても一致するものしか抽出してくれません。 「045から始まらないセル」を検索する方法はないでしょうか? よろしくお願いいたします。

  • 【VBA】条件を満たしたセルを塗り潰し

    VBAで下記のようにしたいのですが、どのようにすれば良いでしょうか?      A 1    100 2    110 3    120 4    130 5    140 6    150 7    160 8    170 9    180 【条件】この場合、A1:A9の範囲内でB1の値を超える値が入力されているセルを黄色で塗りつぶす ※前提として、B1に150と入力されているとします 上記のようなVBAを作成したいと思っています。 この場合、塗りつぶしの対象となるセルはA7,A8,A9となります。 条件付き書式で対応できるのですが、Excel2007で作成したファイルをExcel2003で開くと条件付き書式が反映しませんでしたので、VBAで対応しようと思いました。 宜しくお願いします。

  • エクセルVBAで困ってます。

    エクセルVBAで困っています。 データ入力済みのシートが2つあります。 シート名を「Sheet1」「Sheet2」とします。 「Sheet1」のA列のデータが「Sheet2」のA列のデータと一致した時に それぞれのシートのセル番地を取得したいのですが出来ません。 教えて下さい。 データの並び順は「Sheet1」と「Sheet2」で異なります。

  • エクセルVBAで他ブックのセルへジャンプするコード

    お世話になります。アクティブセルから他ブックを開き、元の内容と同じ文字列が含まれるセルにジャンプするVBAのコードを教えていただけないでしょうか。 ・ブック1「12345」のアクティブセルでマクロボタンを押す。 ・指定のブック2シート1を開き、「12345」が含まれるセルを検索しジャンプ(アクティブセル)する。 ・指定の文字列が無い場合は「検索条件に一致するデータは見つかりません。」 ネットなどでいろいろ調べたのですが見つかりませんでした。みなさんご教授お願いいたします。

  • Excelで条件を指定して複数のセルを選択する方法

    Excelで、条件を指定して、複数のセルを選択する方法をご教授ください。 例えば、シート内に0~100まで様々な数値(下1桁は0か5)が入力されたセルが並んでいたとして、そのうちの60~90を選択したい場合、どのような方法があるのでしょうか? データの抽出などではなく、選択をして書式等の変更を加えたい意図です。 検索では1つの数値しか入力することができず、60、65、70…というように数回検索しなければならず、これを一度に済ませたいです。 そのような方法は無く、出来ないという結論でも構いません。 よろしくお願い致します。

  • エクセルVBAでセル結合

    いつもお世話になっています。 エクセル2003でVBAを使って下記をしたいのでその、VBA構文を教えて下さい。 特定の列のあるセルに文字が入っています。 (文字が入っている列は固定ですが、行番号はデータによって変わります。例えば、Aデータの場合は「J30」、Bデータの場合は、「J55」だったりします。) この文字が入っているセルをVBAで検索し、検索したセルを右隣のセルと結合します。(先ほどのAデータの場合、J30:Z30に結合します。) 更に、文字が入っているセルが2以上の複数の場合があります。(先ほどのAデータの場合、「J30」と「J40」と「J45」という感じです。文字が入っているセルの数はデータにより異なります。) 結合が終わり、このシートのデータがあるところだけに罫線を引きます。(このシートのデータというのは、前述の文字とそれ以外は、「数字」と「・」です。 ややこしいですが、よろしくお願いします。

  • マクロで条件一致のシート選択

    エクセルで複数のシート(50頁程)の決まったセル(A5)に 関数式の結果、条件に一致すれば「○」、不一致なら「×」となるようにしています。 これを「○」が表示されるシートのみ全て印刷するマクロが作成したいのですが、 どのような命令文を組めばよいのか分かりません。 本を購入して勉強していますが、浅い知識では初歩的なことしか出来ません。 ぜひ、御教授願います。

専門家に質問してみよう