Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11746 / 13646 ツリー ←次へ | 前へ→

【14388】テキストボックスを使って検索 LUCY 04/5/27(木) 22:43 質問[未読]
【14389】Re:テキストボックスを使って検索 つん 04/5/27(木) 23:01 発言[未読]
【14393】Re:テキストボックスを使って検索 LUCY 04/5/28(金) 0:34 質問[未読]
【14394】Re:テキストボックスを使って検索 つん 04/5/28(金) 6:50 回答[未読]
【14396】Re:テキストボックスを使って検索 LUCY 04/5/28(金) 8:54 発言[未読]
【14398】Re:テキストボックスを使って検索 つん 04/5/28(金) 9:08 発言[未読]
【14411】Re:テキストボックスを使って検索 LUCY 04/5/28(金) 12:56 お礼[未読]

【14388】テキストボックスを使って検索
質問  LUCY  - 04/5/27(木) 22:43 -

引用なし
パスワード
   本当に初心者で、悩んでみても、なかなか先に進まないので
どなたかおしえてください(T_T)

エクセルの【編集→検索】と同じことを、テキストボックスを最初からシートに
表示して、コマンドボックスで検索させたいのです。
ただ、【編集→検索】から、対象を値に変えたり、完全一致などの条件を毎回
設定したくないだけなのですが・・・
こんな質問で本当に申し訳ないのですが、よろしくお願いします。

とりあえず、検索だけは過去の質問から見つけたのですが、たとえば、
検索値を"もも"とします。
検索範囲には"もも"と"もも色"があった時に、まず、"もも"のセルを
アクティブにして、次に【編集→検索】の【次を検索】のように"もも色"を
検索し、全部検索し終わったら、"検索終了"とMsgBOXに表示するには
どうしたらよいのでしょうか??

これから、ちゃんと勉強しようと思ってますが、たどりつくまで、しばらく
かかりそうなので、すみませんが教えてください。

Private Sub CommandButton1_Click()

Set FindData = _
Worksheets("sheet1").Range("A:A").Find(TextBox1.Value, LookAt:=xlPart)
 FindData.Activate
  If FindData Is Nothing Then
   MsgBox "ありません"
   Exit Sub
  End If

End Sub

【14389】Re:テキストボックスを使って検索
発言  つん E-MAIL  - 04/5/27(木) 23:01 -

引用なし
パスワード
   LUCY さん、こんばんは

>エクセルの【編集→検索】と同じことを、テキストボックスを最初からシートに
>表示して、コマンドボックスで検索させたいのです。
>ただ、【編集→検索】から、対象を値に変えたり、完全一致などの条件を毎回
>設定したくないだけなのですが・・・
>こんな質問で本当に申し訳ないのですが、よろしくお願いします。
>
>とりあえず、検索だけは過去の質問から見つけたのですが、たとえば、
>検索値を"もも"とします。
>検索範囲には"もも"と"もも色"があった時に、まず、"もも"のセルを
>アクティブにして、次に【編集→検索】の【次を検索】のように"もも色"を
>検索し、全部検索し終わったら、"検索終了"とMsgBOXに表示するには
>どうしたらよいのでしょうか??

『次を検索』には、「FindNext メソッド」を使います。
ヘルプの使用例が結構わかりやすいと思います。

With Worksheets(1).Range("a1:a500")
  Set c = .Find(2, lookin:=xlValues)
  If Not c Is Nothing Then
    firstAddress = c.Address
    Do
      c.Value = 5
      Set c = .FindNext(c)
    Loop While Not c Is Nothing And c.Address <> firstAddress
  End If
End With

これね。
これを参考に一度考えて見られてはどうでしょう?

【14393】Re:テキストボックスを使って検索
質問  LUCY  - 04/5/28(金) 0:34 -

引用なし
パスワード
   つんさんありがとうございます。

FindNextは試してみて、c.Value = 5のように検索した値を
全部置換するのは理解できるんですが、ただ単に、検索された
セルをアクティブにして、そのセルが本当に検索したい値ではなかった
時に、【編集→検索】の【次を検索】のように次を検索して
アクティブにしたいだけなんです。
LOOPも今日一日悩んで、まだ半分も理解できないくらいの
レベルなんで、頼ってしまって申し訳ないですがよろしくお願いします。

【14394】Re:テキストボックスを使って検索
回答  つん E-MAIL  - 04/5/28(金) 6:50 -

引用なし
パスワード
   おはようございます。

検索された時点で、そのセルをアクティブにして、
「これでOKですか?」というメッセージボックスを表示させて、
その戻り値で、OKなら、そのままループを抜けさせて、
NGなら、検索を続ける・・・
という形でどうですか?

今出勤前で、コード書く時間ないので、
また、会社行ったら見に来ます〜。

【14396】Re:テキストボックスを使って検索
発言  LUCY  - 04/5/28(金) 8:54 -

引用なし
パスワード
   朝早くから本当にありがとうございます。
自分でもがんばってみます。
でも、きっとどこかでつまづくと思いますので、
よろしくお願いします。

【14398】Re:テキストボックスを使って検索
発言  つん E-MAIL  - 04/5/28(金) 9:08 -

引用なし
パスワード
   はーい!では、とりあえずご自分で頑張ってくださいませ〜
わからんくなったら、また書き込んでね。

頑張れ〜!

【14411】Re:テキストボックスを使って検索
お礼  LUCY  - 04/5/28(金) 12:56 -

引用なし
パスワード
   つんさんへ。。。
とりあえず、どうしなきゃいけないのかが、わかってきたので
がんばってみます。
ご指導ありがとうございました。

11746 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free