Programing

Excel에서 텍스트 URL 열을 활성 하이퍼 링크로 변환하는 방법

lottogame 2020. 4. 4. 10:10
반응형

Excel에서 텍스트 URL 열을 활성 하이퍼 링크로 변환하는 방법


Excel에 열이 있는데 모든 웹 사이트 URL 값이 있습니다. 내 질문은 URL 값을 활성 링크로 바꾸고 싶습니다. 해당 열에는 약 200 개의 항목이 있으며 모든 셀에 다른 URL이 있습니다. 매크로를 작성하지 않고 모든 셀에 대한 활성 하이퍼 링크를 만들 수있는 방법이 있습니까?


매크로를 만들고 싶지 않고 추가 열이 마음에 들지 않는 경우 URL 열 옆에 새 열을 만드십시오.

수식의 새 열 유형에서 =HYPERLINK(A1)(A1을 관심있는 셀로 바꿉니다). 그런 다음 나머지 200 개 항목에 수식을 복사하십시오.

참고 : A1 셀에 255자를 초과하는 문자열이 포함되어 있으면이 솔루션이 작동하지 않습니다. 그것은 결과 #VALUE!오류


다음과 같이 매크로를 작성하십시오.

Microsoft Excel의 도구 메뉴에서 매크로를 가리킨 다음 Visual Basic Editor를 누릅니다. 삽입 메뉴에서 모듈을 클릭하십시오. 이 코드를 복사하여 모듈의 코드 창에 붙여 넣습니다. HyperAdd라는 이름을 자동으로 지정합니다.

Sub HyperAdd()

    'Converts each text hyperlink selected into a working hyperlink

    For Each xCell In Selection
        ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=xCell.Formula
    Next xCell

End Sub

매크로 붙여 넣기를 마치면 파일 메뉴에서 닫기 및 Microsoft Excel로 돌아 가기를 클릭하십시오.

그런 다음 필요한 셀을 선택하고 매크로를 클릭하고 실행을 클릭하십시오.

참고 전체 열을 선택하지 마십시오! 클릭 가능한 링크로 변경하려는 셀만 선택하십시오. 그렇지 않으면 무한 루프로 끝나고 Excel을 다시 시작해야합니다! 끝난!


내가 찾은 방법이 있습니다. Excel 2011을 사용하는 Mac을 사용하고 있습니다. B 열에 하이퍼 링크로 사용할 텍스트 값이있는 경우이 수식을 셀 C1 (또는 D1 또는 비어있는 열인 경우)에 =HYPERLINK(B1,B1)넣으십시오 . 이렇게하면 하이퍼 링크가 삽입됩니다. 링크 텍스트로서의 위치 및 링크 텍스트로서의 "친숙한 이름" 각 링크에 친숙한 이름을 가진 다른 열이 있으면 그 열도 사용할 수 있습니다. 그런 다음 텍스트 열을 보지 않으려면 숨길 수 있습니다.

무언가의 ID 목록이 있고 URL이 모두 다음 http://website.com/folder/ID과 같은 경우 :

A1  | B1
101 | http://website.com/folder/101
102 | http://website.com/folder/102
103 | http://website.com/folder/103
104 | http://website.com/folder/104

비슷한 것을 사용할 수 =HYPERLINK("http://website.com/folder/"&A1,A1)있으며 URL 목록이 필요하지 않습니다. 그건 내 상황이었고 잘 작동했습니다.

이 게시물에 따르면 : http://excelhints.com/2007/06/12/hyperlink-formula-in-excel/ 이 방법은 Excel 2007에서도 작동합니다.


자, 여기에 하키 솔루션이 있지만 Excel에서 URL 열을 대량의 하이퍼 링크로 평가하는 방법을 알 수는 없습니다.

  1. 수식을 만들고 ="=hyperlink(""" & A1 & """)"
  2. 아래로 드래그
  3. 새 수식 열 복사
  4. 원래 열에 특수 값만 붙여 넣기
  5. 강조 열, 클릭 Ctrl- H(대체 할), 찾기 및 바꾸기 ==(어떻게 든 힘을 다시 평가 세포).
  6. 셀은 이제 하이퍼 링크로 클릭 할 수 있어야합니다. 파란색 / 밑줄 스타일을 원하면 모든 셀을 강조 표시하고 하이퍼 링크 스타일을 선택하십시오.

하이퍼 링크 스타일만으로는 클릭 가능한 링크로 변환되지 않으며 "하이퍼 링크 삽입"대화 상자에서 텍스트를 여러 셀의 주소로 대량으로 사용할 수 없습니다. 그 외에, F2그리고 Enter모든 셀을 통해 그것을 할, 그러나 그것은 세포의 많은에 대한 지루한 것입니다.


다소 짧은 목록에 대한 매우 쉬운 방법 :

  1. URL이있는 상자를 두 번 클릭하십시오.
  2. 시작하다

당신은 당신의 링크가 있습니다;)


이 방법은 하이퍼 링크 기능을 사용하여 작동합니다.

=HYPERLINK("http://"&B10,B10)

B10URL의 텍스트 버전을 포함하는 셀은 어디에 있습니까 (이 예에서).


경우 하이퍼 링크와 함께 여분의 열을 추가하는 옵션이 아닌, 대안은로 하이퍼 링크를 둘러싸 외부 편집기를 사용하는 것입니다 =hyperlink("")얻기 위해,=hyperlink("originalCellContent")

Notepad ++를 사용하는 경우이 작업을 반자동으로 수행하는 데 사용할 수있는 레시피입니다.

  • 주소 열을 메모장에 복사 ++
  • 유지 ALT- SHIFT상단이 왼쪽 하단 및 유형에 코너를 왼쪽에서 누르면, 커서를 확장 =hyperlink(". =hyperlink("각 항목의 시작 부분에 추가 됩니다.
  • 열기 "바꾸기"메뉴가 ( Ctrl- H) (정규 표현식 활성화 ALT-을 G), 그리고 교체 $와 함께 (라인 끝) "\). 이렇게 \하면 각 줄의 끝에 닫는 따옴표와 닫는 괄호 ( 정규 표현식을 활성화 할 때 이스케이프해야 함 )가 추가됩니다.
  • Excel에서 데이터를 다시 붙여 넣습니다. 실제로는 데이터를 복사하고 데이터를 끝내려는 열의 첫 번째 셀을 선택하기 만하면됩니다.

Windows의 Excel 2007에서는 이러한 단계가 가장 간단하다는 것을 알았습니다.

  1. 비활성 URL이있는 셀을 선택하십시오.
  2. 하이퍼 링크로 붙여 넣기

Excel이 자동으로 수행하지 않는다고 충격을 주었으므로 여기에 다른 사람들에게 유용 할 수있는 솔루션이 있습니다.

  1. 전체 열을 클립 보드에 복사
  2. Chrome 또는 Firefox에서이 파일을 엽니 다

data:text/html,<button onclick="document.write(document.body.querySelector('textarea').value.split('\n').map(x => '<a href=\'' + x + '\'>' + x + '</a>').join('<br>'))">Linkify</button><br><textarea></textarea>

  1. 브라우저에서 방금 연 페이지에 열을 붙여넣고 "연결"을 누르십시오.
  2. 탭의 결과를 Excel의 열로 복사

대신 2 단계에서 아래 페이지를 사용하여 먼저 "Run code snippet"을 클릭 한 다음 열을 붙여 넣습니다.

<button onclick="document.write(document.body.querySelector('textarea').value.split('\n').map(x => '<a href=\'' + x + '\'>' + x + '</a>').join('<br>'))">Linkify</button><br><textarea></textarea>


이 시도:

= HYPERLINK ( "mailto :"& A1, A1)

A1을 이메일 주소 셀 텍스트로 바꾸십시오.


하이퍼 링크에 로컬 위치에 연결된 http : //가 포함되어 있지 않은 경우 여기서는 어떤 방법도 효과가 없다는 것을 알았습니다.

또한 사용자가 스크립트를 직접 유지할 수 없어서 사용할 수 없기 때문에 스크립트를 속이려고했습니다.

점이 있고 공백이없는 경우 선택한 범위의 셀에서만 실행됩니다. 최대 10,000 개의 셀에 대해서만 실행됩니다.

Sub HyperAdd()
Dim CellsWithSpaces As String
    'Converts each text hyperlink selected into a working hyperlink
    Application.ScreenUpdating = False
    Dim NotPresent As Integer
    NotPresent = 0

    For Each xCell In Selection
        xCell.Formula = Trim(xCell.Formula)
        If xCell.Formula = "" Or InStr(xCell.Formula, ".") = NotPresent Then
        'Do nothing if the cell is blank or contains no dots
        Else
            If InStr(xCell.Formula, " ") <> 0 Then
                CellsWithSpaces = CellsWithSpaces & ", " & Replace(xCell.Address, "$", "")
                 GoTo Nextxcell
            End If

            If InStr(xCell.Formula, "http") <> 0 Then
                Hyperstring = Trim(xCell.Formula)
            Else
                Hyperstring = "http://" & Trim(xCell.Formula)
            End If

            ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=Hyperstring

        End If
        i = i + 1
        If i = 10000 Then Exit Sub
Nextxcell:
      Next xCell
    If Not CellsWithSpaces = "" Then
        MsgBox ("Please remove spaces from the following cells:" & CellsWithSpaces)
    End If
Application.ScreenUpdating = True
End Sub

나를 위해 텍스트 형식의 URL이있는 전체 열을 다른 응용 프로그램 (예 : Evernote)에 복사하고 붙여 넣을 때 링크가 된 다음 Excel로 다시 복사했습니다.

여기서 유일한 것은 복사 한 데이터가 나머지 열과 일치하는지 확인해야한다는 것입니다.


=HYPERLINK(<your_cell>,<your_cell>)인접한 셀에 수식 삽입 하고 맨 아래까지 끌어 올 수 있습니다. 모든 링크가 포함 된 열이 표시됩니다. 이제 헤더를 클릭하고 마우스 오른쪽 버튼을 클릭 한 다음을 선택하여 원래 열을 선택할 수 Hide있습니다.


URL을 HTML 테이블에 넣고 HTML 페이지를 브라우저에로드하고 해당 페이지의 내용을 복사 한 후 Excel에 붙여 넣습니다. 이때 URL은 활성 링크로 유지됩니다.

해결책은 http://answers.microsoft.com/en-us/mac/forum/macoffice2008-macexcel/how-to-copy-and-paste-to-mac-excel-2008-a-list-of/ 에서 제안되었습니다. (Jim Gordon Mac MVP)의 c5fa2890-acf5-461d-adb5-32480855e11e [ http://answers.microsoft.com/en-us/profile/75a2b744-a259-49bb-8eb1-7db61dae9e78]

나는 그것이 효과가 있음을 발견했다.

나는이 URL들을 가지고 있었다 :

https://twitter.com/keeseter/status/578350771235872768/photo/1 https://instagram.com/p/ys5ASPCDEV/ https://igcdn-photos-ga.akamaihd.net/hphotos-ak-xfa1/t51 .2885-15 / 10881854_329617847240910_1814142151_n.jpg https://twitter.com/ranadotson/status/539485028712189952/photo/1 https://instagram.com/p/0OgdvyxMhW/ https://instagram.com/p/1nynTiiLSb/

다음과 같이 HTML 파일 (links.html)에 넣습니다.

<table>
<tr><td><a href="https://twitter.com/keeseter/status/578350771235872768/photo/1">https://twitter.com/keeseter/status/578350771235872768/photo/1</a></td></tr>
<tr><td><a href="https://instagram.com/p/ys5ASPCDEV/">https://instagram.com/p/ys5ASPCDEV/</a></td></tr>
<tr><td><a href="https://igcdn-photos-g-a.akamaihd.net/hphotos-ak-xfa1/t51.2885-15/10881854_329617847240910_1814142151_n.jpg">https://igcdn-photos-g-a.akamaihd.net/hphotos-ak-xfa1/t51.2885-15/10881854_329617847240910_1814142151_n.jpg</a></td></tr>
<tr><td><a href="https://twitter.com/ranadotson/status/539485028712189952/photo/1">https://twitter.com/ranadotson/status/539485028712189952/photo/1</a></td></tr>
<tr><td><a href="https://instagram.com/p/0OgdvyxMhW/">https://instagram.com/p/0OgdvyxMhW/</a></td></tr>
</table>

그런 다음 links.html을 브라우저에로드하고 복사하여 Excel에 붙여 넣고 링크를 활성화했습니다.


코드에 대한 카시오페이아 감사합니다. 현지 주소로 작업하기 위해 코드를 변경하고 조건을 거의 변경하지 않았습니다. 다음 조건을 제거했습니다.

  1. 변경 http:/file:///
  2. 모든 유형의 공백 조건을 제거했습니다.
  3. 10k 셀 범위 조건을 100k로 변경

Sub HyperAddForLocalLinks()
Dim CellsWithSpaces As String
    'Converts each text hyperlink selected into a working hyperlink
    Application.ScreenUpdating = False
    Dim NotPresent As Integer
    NotPresent = 0

    For Each xCell In Selection
        xCell.Formula = Trim(xCell.Formula)
            If InStr(xCell.Formula, "file:///") <> 0 Then
                Hyperstring = Trim(xCell.Formula)
            Else
                Hyperstring = "file:///" & Trim(xCell.Formula)
            End If

            ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=Hyperstring

        i = i + 1
        If i = 100000 Then Exit Sub
Nextxcell:
      Next xCell
    Application.ScreenUpdating = True
End Sub

url에 공급되는 숫자 목록이 있었으므로 핫 링크하고 싶습니다. 예를 들어 질문 번호가있는 열 A (예 : 2595692, 135171)가 있고이 질문 번호를 핫 링크로 바꾸고 질문 번호 만 표시하려고합니다.

그래서 열 A를 가리키는 텍스트 전용 하이퍼 링크를 작성하고 모든 질문 번호에 대해 복사했습니다.

= "= HYPERLINK ("& "" "http" "&" ":" ""& ""& "&"& "" "// stackoverflow.com/questions/"&A1&"""""","&A1& ")"

그런 다음이 텍스트 열의 하이퍼 링크를 다른 열에 복사하여 붙여 넣습니다.

다음과 같은 텍스트 열이 생깁니다.

= HYPERLINK ( "http"& ":"& "// stackoverflow.com/questions/2595692",2595692)

그런 다음 붙여 넣은 항목을 선택하고 다음과 같은 F2Entry 매크로를 실행했습니다.

Sub F2Enter()
Dim cell As Range
Application.Calculation = xlCalculationManual
For Each cell In Selection
    cell.Activate
    cell = Trim(cell)
Next cell
Application.Calculation = xlCalculationAutomatic
EndSub

그런 다음 텍스트 입력 열과 열 A를 삭제했습니다.

나는 핫 링크 된 질문 번호의 단일 열로 끝났습니다.

2595692

135171

기타

건배


텍스트 내용을 새 열에 복사하고 다음을 사용하는 경우 :

=HYPERLINK("http://"&B10,B10) 

원래 열에. 그런 다음 $열에 대해 다음과 같이 사용하십시오.

=HYPERLINK("http://"&$B10,$B10)

이것이 Windows 7의 Excel 2010에서 나를 위해 일한 유일한 방법입니다. 수식을 복사 할 수 있습니다.


여기에 Excel 2016을 사용하는 사람은 열을 강조 표시 한 다음 상자 HyperlinkHome리본에있는 을 클릭하면 Styles됩니다.

여기에 이미지 설명을 입력하십시오

편집 : 불행히도 이것은 함수가 아닌 셀 스타일 만 업데이트합니다.


가장 쉬운 방법은 여기

  • 전체 열을 강조
  • ''삽입 ''을 클릭하십시오
  • ``하이퍼 링크 ''를 클릭하십시오
  • ``이 문서에 배치 ''를 클릭하십시오
  • 확인을 클릭하십시오
  • 그게 다야

Excel 2010에서 가장 간단한 방법 : URL 텍스트가있는 열을 선택한 다음 홈 탭에서 하이퍼 링크 스타일을 선택하십시오. 열의 모든 URL은 이제 하이퍼 링크입니다.

또한 URL 텍스트의 끝에있는 각 셀을 두 번 클릭하고 공백을 입력하거나 그냥 입력하면 하이퍼 링크도 생성됩니다. MS Outlook 이메일에서 URL 링크를 작성하는 방법과 유사합니다.


이를 수행하는 매우 간단한 방법이 있습니다. 하나의 하이퍼 링크를 만든 다음 서식 화가를 사용하여 서식을 복사하십시오. 모든 항목에 대한 하이퍼 링크를 만듭니다.

참고 URL : https://stackoverflow.com/questions/2595692/how-do-i-convert-a-column-of-text-urls-into-active-hyperlinks-in-excel

반응형