Q16. 특정 셀로 점프하는 방법?

2667 단어 VBAExcelExcelVBA
이번에는 특정 셀로 점프하는 방법을 생각해 보겠습니다.
예를 들어, 정보를 많이 쓰는 시트라고 스크롤하여 쫓아가는 것이
번거로울 때라도 있네요.
비교적 쉽게 구현할 수 있으면 편리합니다.

그래서 이번에는 다음과 같은 파일에 점프를 구현합니다.



구체적인 내용은, B열에 있는 이름을 선택하면, 그 이름의 사람의 시트에 점프한다고 한다
매크로입니다. 이번에는 맞추어 도형을 배치하고 거기에 매크로를 등록해 보겠습니다.
이렇게 하면 버튼 하나로 대상 시트로 날 수 있습니다.

■ 포인트



우선, 메인인 점프의 예는 다음과 같습니다.
Application.Goto Reference:=Worksheets("Sheet2").Range("A1")

이것은 시트 2의 A1 셀로 점프 할 수 있습니다.

그리고는, 선택하고 있는 셀의 정보를 취득할 필요가 있군요.
그 후, 시트명과 취득한 값이 일치하고 있는 것을 판단할 수 있으면,
지정된 시트로 점프할 수 있죠.

■답변


Sub Q16_Answer()
    Dim ws As Worksheet
    For Each ws In Worksheets
        If ws.Name = ActiveCell.Value Then
            Application.Goto Reference:=ws.Range("A1")
        End If
    Next ws
End Sub

■해설



이번에는 시트의 이름과 B열에 기재되어 있는 이름이 함께 하는 것에 주목하여,
매크로를 만들고 있습니다.

워크시트를 저장하는 변수를 선언하고 ForEach에서 반복합니다.
ws.Name은 왼쪽 시트부터 순서대로 시트 이름을 저장합니다.

현재 선택한 셀의 값은 ActiveCell.Value에서 가져올 수 있습니다.

그리고는, 조건에 일치하면(자) 그 시트의 A1셀에 날아가기 기술하는 것 뿐입니다.
다음의 설명입니다.
Application.Goto Reference:=ws.Range("A1")

각 데이터 시트에 전체 시트로 돌아가는 점프 버튼을 설치하면
한층 더 편리성이 오르네요.

매크로가 생기면 다음과 같이 도형을 배치하고 오른쪽 클릭에서
매크로를 등록할 수 있습니다.


매크로가 등록되면 날고 싶은 사람 이름의 셀을 선택하고 도형을 클릭해 봅시다.
무사히 대상 시트로 점프할 수 있어야 합니다.

좋은 웹페이지 즐겨찾기