2016-09-28 12 views
-2

データベースの列を検索し、特定のキーワードを含むすべてのセルを別のタブに返すマクロを作成したいと考えています。言い換えれば、単語が値の真ん中にあっても(たとえば、「ビルダーが昨日ハンマーを買った」など)、「ハンマー」と入力して単語「ハンマー」を含むすべてのセルのリストを取得したいとします。excel VBAでキーワードを含むセルを見つける

私はVBAにはかなり新しいので、これを行うためにどのような機能を使用するかを入力してください。私はAdvancedFilterを使用しようとしましたが、それは各セル値の最初の部分だけを見ています。すべてのフィードバックは歓迎です、ありがとう!

+3

Excelでデータベースまたはテーブルを意味していますか?私はそれがVBAを必要としないExcelであれば、かなり確信しています。あなたはちょうどいくつかのExcelの数式が必要です – AER

+0

あなたの答えを明確にしてください。あなたがダウンして投票する傾向がありますし、誰もあなたの質問を気にしない場合。 – AER

答えて

0

使用、それは "検索されないように探索範囲(この例では「A1」)の最初のセルは、ヘッダセルであると仮定Rangeオブジェクト

Sub main() 
    With Worksheets("hammer") '<--| reference searched worksheet (change "hammer" to its actual name) 
     With .Range("A1", .Cells(.Rows.Count, "A").End(xlUp)) '<--| reference its column "A" cells from row 1 down to last non empty one (change "A"s to your actual searched column index) 
      .AutoFilter Field:=1, Criteria1:="*hammer*" '<--| filter on referenced column to get cell containing "hammer" 
      If Application.WorksheetFunction.Subtotal(103, .Cells) > 1 Then .Offset(1).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible).Copy Destination:=Worksheets("different tab").Range("A1") '<--| copy any filtered cell into "different tab" worksheet 
     End With 
     .AutoFilterMode = False '<--| show all rows back 
    End With 
End Sub 

Autofilter()方法*ハンマー"。

関連する問題