엑셀에서 URL 주소가 스트링으로 되어있을 때가 있다.
- 하이퍼링크로 만드는 방법은 다음과 같다.
=hyperlink(URL주소, [표시할이름])
or
= =hyperlink("#"&시트명&"!A1",[표시할이름])
- 매크로를 사용하는 방법도 있다. [ Alt+F11 => Insert => Module ]
Public Sub Convert2Hyperlinks()
Dim Cell As Range
For Each Cell In Intersect(Selection, ActiveSheet.UsedRange)
If Cell <> "" Then
ActiveSheet.Hyperlinks.Add Cell, Cell.Value
End If
Next
End Sub
엑셀에서 영역을 선택한 후 VB 창에서 F5를 누르거나, [ Alt+F8 ] 로 매크로를 열어 실행하면 하이퍼링크로 바뀐다.
- 여러개의 하이퍼링크를 한번에 열고 싶으면 VS에서 다음과 같이 작성하고 F5 로 실행한다.
Sub OpenMultipleLinks()
'From Windows247
Dim MultiLink As Hyperlink
Dim SelectedRng As Range
On Error Resume Next
'Window Heading
WLTitleId = "WL Open Multiple Links"
'Set Range
Set SelectedRng = Application.Selection
Set SelectedRng = Application.InputBox("Range", WLTitleId, SelectedRng.Address, Type:=8)
'Open Links One by One
For Each MultiLink In SelectedRng.Hyperlinks
MultiLink.Follow
Next
End Sub
- 시트의 정렬이 필요할 경우는 다음과 같다.
Sub SortSheets()
Dim i As Integer
Dim j As Integer
Dim iAnswer As VbMsgBoxResult
iAnswer = MsgBox("Sort sheets by ascending order ?", _
vbYesNoCancel + vbQuestion + vbDefaultButton1, "Sort Worksheets")
For i = 1 To Sheets.Count
For j = 1 To Sheets.Count - 1
If iAnswer = vbYes Then
If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then
Sheets(j).Move After:=Sheets(j + 1)
End If
ElseIf iAnswer = vbNo Then
If UCase$(Sheets(j).Name) < UCase$(Sheets(j + 1).Name) Then Sheets(j).Move After:=Sheets(j + 1)
End If
Next j
Next i
End Sub
'etc' 카테고리의 다른 글
MariaDB setting (0) | 2022.10.25 |
---|---|
바로가기 (1) | 2022.10.03 |
pathlib in python (0) | 2022.08.18 |
[DB] SQL with python (0) | 2022.05.31 |
Markdown guide (0) | 2022.03.09 |
댓글