여러 통합 문서 검색 (Microsoft Excel)
Amit에는 수백 개의 Excel 통합 문서가 포함 된 폴더가 있습니다. 그는 모든 통합 문서에서 특정 텍스트를 검색해야하며 모든 통합 문서를 검색하고 원하는 텍스트가 포함 된 통합 문서의 이름과 해당 텍스트가 포함 된 통합 문서의 셀을 확인할 수있는 방법이 있는지 궁금합니다.
원하는 텍스트가 포함 된 통합 문서를 찾는 것은 비교적 쉽습니다. Windows의 검색 기능을 사용하여 단일 폴더에서 원하는 텍스트가 포함 된 파일을 찾기 만하면됩니다. 셀 위치를 알려주지는 않지만 파일 목록에서 아래로 내려갑니다.
물론 매크로를 사용하여 검색을 수행 할 수 있습니다. (그렇지 않으면 수동으로 수행 할 길고 지루한 작업을 수행하기 위해 항상 매크로를 사용하는 것이 좋습니다.) 다음은 폴더의 모든 통합 문서를 단계별로 살펴보고 원하는 항목을 검색합니다. xls *로 끝나는 모든 파일을 엽니 다 (후행 별표는 xls, xlsx 및 xlsm 파일을 검색 함을 의미합니다).
Sub SearchFolders() Dim fso As Object Dim fld As Object Dim strSearch As String Dim strPath As String Dim strFile As String Dim wOut As Worksheet Dim wbk As Workbook Dim wks As Worksheet Dim lRow As Long Dim rFound As Range Dim strFirstAddress As String On Error GoTo ErrHandler Application.ScreenUpdating = False 'Change as desired strPath = "c:\MyFolder" strSearch = "Specific text" Set wOut = Worksheets.Add lRow = 1 With wOut .Cells(lRow, 1) = "Workbook" .Cells(lRow, 2) = "Worksheet" .Cells(lRow, 3) = "Cell" .Cells(lRow, 4) = "Text in Cell" Set fso = CreateObject("Scripting.FileSystemObject") Set fld = fso.GetFolder(strPath) strFile = Dir(strPath & "\.xls") Do While strFile <> "" Set wbk = Workbooks.Open _ (Filename:=strPath & "\" & strFile, _ UpdateLinks:=0, _ ReadOnly:=True, _ AddToMRU:=False) For Each wks In wbk.Worksheets Set rFound = wks.UsedRange.Find(strSearch) If Not rFound Is Nothing Then strFirstAddress = rFound.Address End If Do If rFound Is Nothing Then Exit Do Else lRow = lRow + 1 .Cells(lRow, 1) = wbk.Name .Cells(lRow, 2) = wks.Name .Cells(lRow, 3) = rFound.Address .Cells(lRow, 4) = rFound.Value End If Set rFound = wks.Cells.FindNext(After:=rFound) Loop While strFirstAddress <> rFound.Address Next wbk.Close (False) strFile = Dir Loop .Columns("A:D").EntireColumn.AutoFit End With MsgBox "Done" ExitHandler: Set wOut = Nothing Set wks = Nothing Set wbk = Nothing Set fld = Nothing Set fso = Nothing Application.ScreenUpdating = True Exit Sub ErrHandler: MsgBox Err.Description, vbExclamation Resume ExitHandler End Sub
필요에 맞게 루틴을 사용자 정의하려면 처리 할 폴더의 경로를 반영하도록 strPath 변수를 변경하고 검색중인 텍스트를 반영하도록 strSearch를 변경하십시오. 매크로는 새 워크 시트를 만들고 각 행에 “조회”를 배치합니다. A 열에는 통합 문서 이름, B 열 워크 시트 이름, C 열 셀 주소, D 열 해당 셀의 내용이 포함됩니다.
분명히 이와 같은 매크로는 실행하는 데 상당한 시간이 걸립니다. 검색해야하는 파일 수를 줄임으로써 시간을 다소 단축 할 수 있습니다. 이 작업을 수행하는 가장 좋은 방법은 Windows 검색 방식 (이 팁의 시작 부분에 설명)을 사용하여 원하는 텍스트가있는 통합 문서를 식별하는 것입니다. 해당 통합 문서를 자체 폴더로 이동 한 다음 해당 폴더에서 매크로 검색을 수행합니다.
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (5598)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다.