2016-06-30 11 views
0

特定のキーワードを検索し、その情報を含むすべてのセルを選択し、行全体をコピーして別のシートに貼り付けるために、userforumを使用しようとしています。これまでは、一度に1つのセル/行を選択する方法しか知りませんでした。これは私がこれまで持っていたものです。vbaで複数のセルを検索して選択する

Private Sub CommandButton1_Click() 
    Cells.Find(What:=searchbox1.Text, After:=Range("A1"), LookIn:=xlFormulas, _ 
     LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ 
     MatchCase:= True, SearchFormat:=False).Activate 
    ActiveCell.EntireRow.Select 
    Selection.Copy 
    sheets(2).activate 
+0

....非常によく似たコンセプトを[この質問](http://stackoverflow.com/questions/38105313/deleting-rows-of-data-not-needed/38105606#38105606)に私の答えを参照してください –

答えて

0

あなたがラインの何千もの100年代を通じてフィルタリングしようとしている場合を除き、単純なループは、findと同じ仕事を行います。

このコードをブックに適用すると、textboxに対してテストしたい範囲をループし、一致するものを任意の範囲にコピーします。

Dim rng As Range 
    Dim destRng As Range 

    Set rng = Range("A1:A20") 

    For Each r In rng 
     If r.Value = searchbox1.Text Then 
     If Not destRng Is Nothing Then 
      Set destRng = Union(r.EntireRow, destRng) 
     Else 
      Set destRng = r.EntireRow 
     End If 
     End If 
    Next r 
     destRng.Copy sheets(2).Range("A1") 
関連する問題