일치하는 셀 목록 가져 오기 (Microsoft Excel)
Michael이 Excel에서 “모두 찾기”작업을 수행하면 프로그램은 그가 검색하는 모든 항목을 포함하는 모든 셀 목록을 유용하게 표시합니다.
Michael은 해당 셀 주소 목록을 다른 워크 시트에 복사하려고하므로 목록을 클립 보드에 복사하여 워크 시트에 붙여 넣을 수있는 방법이 있는지 궁금합니다.
이 작업을 수행 할 수있는 몇 가지 방법이 있으며 대부분은 매크로 사용과 관련됩니다. 그러나 매크로 기반 접근 방식을 시작하기 전에 명명 된 범위와 이름 관리자를 사용하여 주소에 액세스 할 수있는 방법을 살펴 보겠습니다.
-
FindAll을 이전과 같이 사용하되 찾기 및 바꾸기 대화 상자를 닫지 마십시오.
-
표시된 주소 목록에서 맨 아래로 스크롤하고 Shift 키를 누른 상태에서 마지막 일치 항목을 클릭합니다. Excel은 일치하는 모든 셀을 선택합니다.
-
Esc 키를 눌러 찾기 및 바꾸기 대화 상자를 닫습니다. 일치하는 셀은 여전히 모두 선택되어 있습니다.
-
이름 상자에 이름을 입력합니다 (수식 입력 줄 바로 왼쪽, A1 셀 바로 위). 이렇게하면 선택한 모든 셀로 구성된 명명 된 범위가 생성됩니다.
-
리본의 공식 탭을 표시합니다.
-
이름 관리자 도구를 클릭하십시오. Excel은 이름 관리자의 대화 상자를 표시합니다. (그림 1 참조)
-
4 단계에서 만든 이름을 클릭합니다.
-
셀 목록은 대화 상자 아래쪽의 참조 대상 상자에 있습니다.
이 시점에서 참조 대상 상자의 정보를 복사하여 원하는 항목 (다른 워크 시트 포함)에 붙여 넣을 수 있습니다. 목록은 셀 주소의 직렬 목록이기 때문에 붙여 넣은 후 데이터를 약간 마사지해야합니다.
분명히 이것은 명명 된 범위를 생성하므로 통합 문서에 영향을줍니다. 여러 번 수행하면 명명 된 범위가 여러 개 생성됩니다.
물론이 작업을 자주 수행해야하는 경우 빠르게 다루기가 어려울 수 있습니다. 여기에서 매크로 솔루션이 작동합니다. 다음은 특정 값을 검색 한 다음 해당 값을 포함하는 모든 셀의 주소를 다른 워크 시트에 배치하는 매크로의 예입니다.
Sub CellAdressList() Dim c1 As String Dim nxt As String Sheets("Sheet1").Select Range("A1").Select Cells.Find(What:="qrs", After:=ActiveCell, _ LookIn:=xlValues, LookAt:=xlWhole, _ SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate c1 = ActiveCell.Address Sheets("Sheet2").Select Range("A1").Select Range("A1").Value = c1 Do Until nxt = c1 Sheets("Sheet1").Select Cells.FindNext(After:=ActiveCell).Activate nxt = ActiveCell.Address Sheets("Sheet2").Select ActiveCell.Offset(1, 0).Select ActiveCell.Value = nxt Loop ActiveCell.Value = "" End Sub
매크로는 몇 가지 가정을합니다. 먼저 Sheet1이라는 워크 시트에서 정보를 검색한다고 가정합니다. 둘째, Sheet2라는 워크 시트에 주소 목록을 배치하려고한다고 가정합니다. 마지막으로 Sheet1 내에서 “qrs”값을 검색한다고 가정합니다. 원하는 경우 매크로의 이러한 모든 요소를 변경할 수 있습니다.
좀 더 유연한 것을 위해 다음 매크로를 고려하십시오. 원하는 값을 포함하는 모든 셀을 이미 선택했다고 가정합니다. (즉,이 팁의 시작 부분에있는 단계 중 1 ~ 3 단계를 수행해야합니다.) 그런 다음 매크로를 실행할 수 있습니다.
Sub CopyFindAllSelection() Dim outcell As Range Dim c As Range Set outcell = Range("Sheet2!A1") For Each c In Selection outcell.Value = c.Address Set outcell = outcell.Offset(1, 0) Next End Sub
결과적으로 선택한 셀의 주소가 Sheet2 워크 시트에 배치됩니다. 이 매크로는 모든 워크 시트에서 무엇이든 찾을 수 있기 때문에 좀 더 유연합니다. “하드 코딩 된”유일한 부분
주소가있는 워크 시트 (Sheet2)입니다.
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (13581)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다.