모두 검색 (Microsoft Excel)
Jack은 특정 단어 나 구를 검색하고 한 번에 해당 단어가 포함 된 모든 셀을 강조 표시하여 잘라내거나 복사하여 다른 곳에 붙여 넣을 수있는 방법을 궁금해합니다.
사용하려는 텍스트가 포함 된 셀을 선택하는 것은 다소 쉽습니다. 표준 찾기 및 바꾸기 기능을 사용하여 수행 할 수 있습니다. 다음 단계를 따르십시오.
-
Ctrl + F를 누릅니다. Excel은 찾기 및 바꾸기 대화 상자의 찾기 탭을 표시합니다.
-
옵션 버튼을 클릭하여 대화 상자를 확장합니다. (그림 1 참조)
-
찾을 내용 상자에 찾으려는 텍스트를 입력합니다.
-
대화 상자의 컨트롤을 사용하여 원하는대로 일치를 제한합니다.
-
모두 찾기를 클릭합니다. 찾은 모든 일치 항목을 표시하도록 대화 상자가 확장됩니다.
-
Ctrl + A를 누릅니다. 이렇게하면 발견 된 모든 셀이 선택됩니다.
-
닫기를 클릭하여 대화 상자를 닫습니다.
그게 다야. 4 단계에서 전체 셀 내용 일치를 클릭하지 않는 한 Excel은 3 단계에서 지정한 텍스트가 포함 된 모든 셀을 선택합니다. 이때 원하는 경우 셀에 서식을 적용 할 수 있습니다.
물론 조건부 서식을 사용하여 강조 표시 할 텍스트가 포함 된 셀의 서식을 동적으로 지정할 수 있습니다. “텍스트 포함”을 테스트로 사용하는 조건을 설정하기 만하면됩니다. 물론 텍스트가 포함 된 모든 셀을 선택하지는 않지만 해당 셀이있는 위치를 선택할 수 있도록 강조 표시합니다.
매크로를 사용하여 원하는 텍스트가 포함 된 모든 셀을 선택할 수도 있습니다. 다음은 작업을 수행하는 다소 간단한 것입니다.
Sub selCellbasedonValue() Dim c As Object Dim u As Range Dim v As Range Dim sInpt As String Set u = ActiveSheet.UsedRange sInpt = InputBox("Enter the search text") If sInpt > "" Then For Each c In u If Instr(LCase(sInpt),LCase(c.Value)) > 0 Then If v Is Nothing Then Set v = Range(c.Address) Else Set v = Union(v, Range(c.Address)) End If End If Next v.Select Set v = Nothing End If Set u = Nothing End Sub
인식해야하는 셀을 선택하는 데 문제가 있습니다. 셀이 인접하지 않은 경우 셀을 잘라내거나 복사 할 수 없습니다. 시도하면 명령을 다중 선택에 사용할 수 없다는 오류 메시지가 표시됩니다. 셀 내용을 다른 위치에 복사하는 가장 쉬운 방법은 다시 매크로를 사용하는 것입니다.
Sub CopyFinds() Dim sSrch As String Dim sFirst As String Dim rPaste As Range Dim i As Integer Dim iLeftC As Integer Dim lTopR As Long Dim c As Object If Selection.Cells.Count = 1 Then MsgBox "Select the range to be searched." Exit Sub End If 'Specify search string sSrch = InputBox(Prompt:="Enter the search text") ' Set the paste address On Error Resume Next Set rPaste = Application.InputBox(Prompt:="Enter the upper-left " & _ "cell address for the paste range", Type:=8) On Error GoTo 0 ' Exit if canceled If TypeName(rPaste) <> "Range" Then Exit Sub ' Upper left cell to be used Set rPaste = rPaste.Range("A1") 'Set where paste will start and headings Application.ScreenUpdating = False lTopR = rPaste.Row iLeftC = rPaste.Column Cells(lTopR, iLeftC) = "Address" Cells(lTopR, iLeftC + 1) = "Cell Value" lTopR = lTopR + 1 'Start copying cell values With Selection Set c = .Find(What:=sSrch, LookAt:=xlPart, MatchCase:=True) If Not c Is Nothing Then sFirst = c.Address Do Cells(lTopR, iLeftC) = c.Address Cells(lTopR, iLeftC + 1) = c.Value Set c = .FindNext(c) lTopR = lTopR + 1 Loop While Not c Is Nothing And c.Address <> sFirst End If End With Application.ScreenUpdating = True Cells(rPaste.Row, rPaste.Column).Select End Sub
셀 범위를 선택하고이 매크로를 실행하면 검색 대상 (대소 문자가 중요 함)과 복사 할 주소를 지정하라는 메시지가 표시됩니다. 그런 다음 매크로는 해당 값을 포함하는 모든 셀을 찾고 해당 주소와 셀 값을 지정한 시작 주소로 복사합니다. 매크로는 많은 오류 검사를 수행하지 않습니다. 이미 정보가있는 대상 주소를 지정하면 정보를 덮어 씁니다. 또한 검색중인 범위 내에있는 대상 주소를 지정하면 매크로가 무한히 실행될 수 있습니다. 검색중인 범위를 벗어난 대상을 지정해야합니다.
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (8964)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다. 여기에서 Excel의 이전 메뉴 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.
link : / excel-Searching_for_All [Searching for All]
.