2017-05-22 17 views
0

範囲内のセルのすべての一致した値を見つけるマクロを作成しました。ユーザーはここで 範囲内のすべての一致するセルの値を見つける

enter image description here

は私のコード

です...それは彼に続い例 Order Number purchase numberその後、 part numberのための一致したセルが表示されます次に、セルA2の例 numbのために、彼は Findボタンをクリックするたびに入力します。
Sub find_matched_cells() 
    w = ActiveWorkbook.Sheets("Sheet4").Range("A2") 

    ActiveWorkbook.Sheets("Sheet4").Range("A4:A104").Find(What:=(w), After:=ActiveCell, LookIn:=xlFormulas, _ 
    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ 
    MatchCase:=False).Activate  
End Sub 

これはうまくいきますが、ユーザーがたとえば自分の範囲内にないセルを押すと、ボタンfindが機能しません。 A104をその後、ActiveCellが私の範囲内とすることがないであろうと、それはエラーを与える:誤って使用すると、範囲内にないA4のセルを選択した場合の問題は、例えば、

After:=ActiveCell 

です。

たとえば、最初のActiveCellがA4から開始し、最初に一致したセルが見つかった場合、ActiveCellはその値を取得します。

他の提案はどうしますか?どうもありがとうございました。

答えて

1

一つのアプローチはこれです...

Sub find_matched_cells() 
    Dim Rng As Range 
    Set Rng = ActiveWorkbook.Sheets("Sheet4").Range("A4:A104") 
    w = ActiveWorkbook.Sheets("Sheet4").Range("A2") 
    If Intersect(ActiveCell, Rng) Is Nothing Then Range("A4").Select 
    Rng.Find(What:=(w), After:=ActiveCell, LookIn:=xlFormulas, _ 
    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ 
    MatchCase:=False).Activate 

End Sub 
1

交差点を確認できます。私は、これらの見つかったセルのそれぞれに実際に何をする必要があるかによってコードを少し書き直します。値が見つからない場合、エラーを避けるために以下のコードを修正しました。

Sub x() 

Dim rFind As Range, sAddr As String, w 

w = ActiveWorkbook.Sheets("Sheet4").Range("A2") 

With ActiveWorkbook.Sheets("Sheet4").Range("A4:A104") 
    Set rFind = .Find(What:=w, LookIn:=xlFormulas, LookAt:=xlPart, MatchCase:=False, SearchFormat:=False) 
    If Not rFind Is Nothing Then 
     sAddr = rFind.Address 
     Do 
      rFind.Select 
      MsgBox w & " found at " & rFind.Address 
      Set rFind = .FindNext(rFind) 
     Loop While rFind.Address <> sAddr 
    End If 
End With 

End Sub 
+0

感謝しかし、私は、ActiveCellが誤って別の範囲にslectedされている場合でも、マクロがすべて一致した値が表示されますしたいです。あなたのコードは、ActiveCellが私の範囲内にある場合にのみ動作します – JuniorDev

+0

上記で編集したアプローチは違っていますが、あなたの最終目的は本当にわかりません。 – SJR

+1

ありがとうございました:) – JuniorDev

関連する問題