2016-09-28 2 views
-2

데이터베이스의 열을 검색하여 특정 탭에 특정 키워드가 들어있는 모든 셀을 반환하는 매크로를 작성하고 싶습니다. 다시 말해, "hammer"를 입력하고 hammer라는 단어가 포함 된 모든 셀의 목록을 가져오고 싶습니다 (예 : "빌더가 어제 망치를 구입했습니다").excel VBA에서 키워드를 포함하는 셀을 찾습니다.

저는 VBA에 상당히 익숙해 졌으므로이 작업을 수행하는 데 사용할 함수에 대한 도움이 필요합니다. AdvancedFilter를 사용하려했지만 각 셀 값의 맨 처음 부분 만 보았습니다. 모든 의견은 환영합니다. 감사합니다!

+3

Excel에서 데이터베이스 또는 테이블을 의미합니까? Excel에서 모두 VBA가 필요 없다고 확신합니다. 당신은 몇 가지 Excel 수식이 필요합니다 – AER

+0

답변을 명확히하십시오. 그렇지 않다면 당신은 다운 투표를하는 경향이 있고 아무도 당신의 질문에 귀찮을 것입니다. – AER

답변

0

사용 Autofilter() 방법 오브젝트 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 

이 (이 예에서는"A1 ")를 검색 범위의 첫 번째 셀을 가정은 헤더 셀이고, *망치".

관련 문제