VB(A)

다른 셀로 하이퍼링크 설정

당근쨈 2015. 3. 5. 21:27

시트1에 각 테이블의 제목이 있고

제목을 누르면 다른 시트의 테이블로 이동하는 하이퍼링크를 설정하는 매크로다.


Sub mkHyper()
    
    Dim rngCell As Range, rngArea As Range
    Dim fnTable As String
    Dim i As Integer
    
    Set rngArea = Range("A2", Cells(Rows.Count, "A").End(xlUp))
    
    '각 시트를 순환하며 작업
    For i = 2 To Sheets.Count
    
    'Sheets(1) A열을 돌며 하이퍼링크 설정
        For Each rngCell In rngArea
        
            '각 시트의 A열에 목록이 있으면 하이퍼링크 설정
            If Not Sheets(i).Columns("A").SpecialCells(2).Find(what:=rngCell, lookat:=xlWhole) Is Nothing Then
                fnTable = Sheets(i).Columns("A").SpecialCells(2).Find(what:=rngCell, lookat:=xlWhole).Address(00)
                rngCell.Hyperlinks.Add anchor:=rngCell, Address:="", SubAddress:=Sheets(i).Name & "!" & fnTable
            End If
        Next rngCell
    Next i
    
End Sub
cs