본문 바로가기

IT/엑셀(Excel)

[Excel-VBA] 입력 받은 값으로 라인 선택하기

반응형

Excel 로 데이터를 분석 시 자주 사용하는 기능으로 라인 찾는 Funtion을 만들어 보려 한다.

일단 Excel 을 시작하고 아래와 같이 가상 데이터를 만들어 본다.

 엑셀 가상 데이터

그리고 파일을 확장자 xlsm으로 저장 한다. (테스트를 위해 VBA_TEST.xlsm 로 저장)

파일 저장
개발 도구 > Visual Basic
Sheet1을 선택하고 소스를 입력

Sub SelectionLine()
    ' 사용할 변수 선언
    ' 조회 할 명
    Dim name As String, tmp As String, i As Long, lastColPosition As Long
    
    '마지막 컬럼 위치
    lastColPosition = Cells(8, Columns.Count).End(2).Column
    
    ' Input Box 로 찾을 명 확인
    name = InputBox("Find", "Name")
    
    If (name <> "") Then
        For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
            ' 입력 받은 값과 첫번째 컬럼값 비교
            If (name = Cells(i, 1).Value) Then
                ' 마지막 컬럼까지 선택
                Range(Cells(i, 1), Cells(i, lastColPosition)).Select
                ' Row Group Hide or Show
                Rows(i).Showdetail = False 'Hide
                Rows(i).Showdetail = True 'Show
                ' for 문을 나간다
                Exit For
            End If
            
        Next i
    End If
    
End Sub

실행 아이콘 > 매크로 선택 > 실행

실행하면 다음과 같이 Input Box 가 생성된다.

찾을 구문 ex)"A11" 입력 후 확인

반응형