Excel VBA質問箱 IV

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

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


12302 / 76734 ←次へ | 前へ→

【69958】Re:2つの言葉で検索したい
発言  UO3  - 11/9/28(水) 14:51 -

引用なし
パスワード
   ▼ichinose さん:

>FindメソッドとFindnextメソッドを使い、先に検索だけを行い、
>見つかったセルをUnionメソッドを使って、
>セル範囲の集合体にしておきます。
>
>その後で、見つかったそのセル範囲を順次選択し、表示させてみては?

これはグッドですね!さすがです。
その方向で書いてみました。ただし、今までアップ済みのコードをなるべく流用しましたので
ちょっと、スッキリしないものになってますが、結果はでたようです。

Sub Test7()
  Call 検索("山本", "鈴木")
End Sub

Sub Test8()
  Call 検索("山本", "")
End Sub

Sub Test9()
  Call 検索("", "山本")
End Sub

Private Sub 検索(ByVal str1 As String, ByVal str2 As String)
  Dim c As Range
  Dim v(1 To 2)
  Dim myStr As Variant
  Dim ansR As Range
  Dim f As Range
  
  If Len(str1) > 0 Then str1 = "*" & str1 & "*"
  If Len(str2) > 0 Then str2 = "*" & str2 & "*"
  v(1) = str1
  v(2) = str2
  
  For Each myStr In v
    If Len(myStr) > 0 Then
      Set c = ActiveSheet.UsedRange.Find(What:=myStr, LookIn:=xlFormulas, LookAt:=xlWhole)
      If Not c Is Nothing Then
        Set f = c
        Do
          If ansR Is Nothing Then
            Set ansR = c
          Else
            Set ansR = Union(ansR, c)
          End If
          Set c = ActiveSheet.UsedRange.FindNext(c)
        Loop While c.Address <> f.Address
      End If
    End If
  Next
  MsgBox ansR.Address
  If ansR Is Nothing Then
    MsgBox "検索対象のものはありません"
  Else
    For Each c In ansR.Cells
      c.Activate
      If MsgBox("検索を続けますか?", vbYesNo) = vbNo Then Exit For
    Next
  End If
  
  Set ansR = Nothing
  Set c = Nothing
  Set f = Nothing
  
End Sub

9 hits

【69938】2つの言葉で検索したい ごん 11/9/26(月) 9:35 質問
【69939】Re:2つの言葉で検索したい UO3 11/9/26(月) 10:07 回答
【69948】Re:2つの言葉で検索したい ごん 11/9/27(火) 19:34 お礼
【69953】Re:2つの言葉で検索したい ごん 11/9/28(水) 9:41 質問
【69943】Re:2つの言葉で検索したい kanabun 11/9/26(月) 18:44 発言
【69951】Re:2つの言葉で検索したい ごん 11/9/27(火) 20:39 発言
【69952】Re:2つの言葉で検索したい UO3 11/9/28(水) 9:18 発言
【69954】Re:2つの言葉で検索したい ごん 11/9/28(水) 9:48 発言
【69955】Re:2つの言葉で検索したい UO3 11/9/28(水) 11:48 回答
【69956】Re:2つの言葉で検索したい UO3 11/9/28(水) 11:55 回答
【69957】Re:2つの言葉で検索したい ichinose 11/9/28(水) 13:42 発言
【69958】Re:2つの言葉で検索したい UO3 11/9/28(水) 14:51 発言
【69959】Re:2つの言葉で検索したい UO3 11/9/28(水) 14:52 発言
【69989】Re:2つの言葉で検索したい ごん 11/10/5(水) 14:56 質問
【69990】Re:2つの言葉で検索したい UO3 11/10/5(水) 16:36 回答
【70027】Re:2つの言葉で検索したい ごん 11/10/11(火) 17:09 お礼
【69997】Re:2つの言葉で検索したい kanabun 11/10/6(木) 12:05 発言
【69998】Re:2つの言葉で検索したい kanabun 11/10/6(木) 13:09 発言
【70026】Re:2つの言葉で検索したい ごん 11/10/11(火) 17:06 発言
【69999】Re:2つの言葉で検索したい UO3 11/10/6(木) 13:53 発言
【70000】Re:2つの言葉で検索したい kanabun 11/10/6(木) 14:55 発言
【70001】Re:2つの言葉で検索したい UO3 11/10/6(木) 17:05 発言
【70002】Re:2つの言葉で検索したい momo 11/10/7(金) 15:22 発言
【70003】Re:2つの言葉で検索したい UO3 11/10/7(金) 18:37 発言
【70004】Re:2つの言葉で検索したい ichinose 11/10/7(金) 19:14 発言
【70005】Re:2つの言葉で検索したい momo 11/10/7(金) 19:23 発言
【70009】Re:2つの言葉で検索したい kanabun 11/10/8(土) 0:13 発言
【70030】Re:2つの言葉で検索したい ごん 11/10/11(火) 18:00 お礼

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