ฉันจะแปลงคอลัมน์ URL ข้อความเป็นไฮเปอร์ลิงก์ที่ใช้งานอยู่ใน Excel ได้อย่างไร


275

ฉันมีคอลัมน์ใน excel ซึ่งฉันมีค่า URL เว็บไซต์ทั้งหมด คำถามของฉันคือฉันต้องการเปลี่ยนค่า URL เป็นลิงก์ที่ใช้งานอยู่ มีประมาณ 200 รายการในคอลัมน์นั้นพร้อม URL ที่แตกต่างกันในทุกเซลล์ มีวิธีที่ฉันสามารถสร้างการเชื่อมโยงหลายมิติที่ใช้งานอยู่ไปยังเซลล์ทั้งหมดโดยไม่ต้องเขียนแมโคร

คำตอบ:


314

หากคุณไม่ต้องการสร้างแมโครและตราบใดที่คุณไม่สนใจคอลัมน์เพิ่มเติมให้สร้างคอลัมน์ใหม่ข้างคอลัมน์ URL ของคุณ

ในประเภทคอลัมน์ใหม่ในสูตร=HYPERLINK(A1)(แทนที่ A1 ด้วยเซลล์ใดก็ได้ที่คุณสนใจ) จากนั้นคัดลอกสูตรลงเหลือ 200 รายการ

หมายเหตุ:วิธีนี้จะไม่ทำงานหากเซลล์ A1 มีสตริงที่ยาวกว่า 255 อักขระ มันส่งผลให้เกิด#VALUE!ข้อผิดพลาด


2
หากคอลัมน์ A ของฉันมี 200 ค่าเชื่อมโยงเป็นไปได้ไหมที่จะเขียนสูตรที่จะเชื่อมโยงหลายมิติค่า 200 และเขียนในคอลัมน์ A แทนการสร้างคอลัมน์ใหม่
นักพัฒนา

1
ยอดเยี่ยม สิ่งที่ดีที่สุดคือขั้นตอนนี้ง่ายมากที่ฉันสามารถส่งไฟล์ CSV ไปยังบุคคลทั่วไปและเขาสามารถสร้าง URL จากมันได้อย่างง่ายดาย
Cardin Lee JH

3
หากต้องการทำให้เป็นคอลัมน์เดียวให้คัดลอกคอลัมน์เชื่อมโยงหลายมิติและ "วางค่า" ลงในคอลัมน์ใดก็ได้ที่คุณต้องการเก็บไว้
Mike

1
คำตอบนี้ควรได้รับการยอมรับเนื่องจากสามารถแก้ไขกรณีการใช้งานส่วนใหญ่
Jay

ซ่อนคอลัมน์ดิบที่ไม่ใช่ไฮเปอร์ลิงก์
RickAndMSFT

94

สร้างแมโครตามที่นี่:

บนเมนูเครื่องมือใน Microsoft Excel ให้ชี้ไปที่แมโครแล้วคลิกตัวแก้ไข Visual Basic บนเมนูแทรกคลิกโมดูล คัดลอกและวางรหัสนี้ในหน้าต่างรหัสของโมดูล มันจะตั้งชื่อตัวเองโดยอัตโนมัติ 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! ทำ!


2
เพิ่ม Dim xCell As Range หากคุณใช้ตัวเลือกที่ชัดเจน +1 สำหรับโซลูชันที่เปลี่ยนเซลล์ (ตามที่ถาม) และระบุรหัสที่ทำ
Praesagus

สิ่งนี้ใช้ได้ผลดีสำหรับฉันเนื่องจากฉันมีลิงก์ประมาณ 50,000 รายการในสเปรดชีตที่จำเป็นต้องอัปเดตและต้องทำในส่วนที่เป็น Excel หรือขัดข้อง
ATek

2
หากต้องการทำให้ที่อยู่อีเมลเป็นไฮเปอร์ลิงก์ให้เปลี่ยนAddress:=xCell.Formulaเป็นAddress:="mailto:" & xCell.Formula
Danny Beckett

นอกจากนี้สำหรับ URL ที่ไม่ได้เริ่มต้นด้วยhttp://สิ่งนี้จะต้องเพิ่ม (ใช้การเปลี่ยนแปลงข้างต้น แต่แทนที่mailto:ด้วยhttp://มิฉะนั้นการเชื่อมโยงหลายมิติไม่ทำงาน
Danny Beckett

1
ใช้งานได้ดี FYI Excel 2016 มีการ จำกัด การเชื่อมโยงหลายมิติ 66,530 ต่อแผ่นงานดังนั้นจึงคาดว่าจะเกิดข้อผิดพลาดในการทำงานในที่สุดหากคุณเกินนั้น support.office.com/en-us/article/…
Christopher O'Brien

24

นี่คือวิธีที่ฉันพบ ฉันใช้ Mac โดยใช้ Excel 2011 หากคอลัมน์ 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 เช่นกัน


ใช้งานได้ใน Windows, Excel 2013 และเป็นทางเลือกที่ยอดเยี่ยมสำหรับคอลัมน์เพิ่มเติม
mdisibio

FYI สำหรับ Open Office ข้อผิดพลาดดังกล่าวข้างต้น แต่ดูเหมือนว่า = HYPERLINK (C1) ใช้งานได้หากมีเพียงพารามิเตอร์เดียวเท่านั้น
tonypdmtr

19

ตกลงนี่เป็นวิธีแก้ปัญหา hokey แต่ฉันไม่สามารถหาวิธีที่จะทำให้ Excel ประเมินคอลัมน์ของ URL เป็นไฮเปอร์ลิงก์จำนวนมากได้

  1. สร้างสูตร ="=hyperlink(""" & A1 & """)"
  2. ลากลง
  3. คัดลอกคอลัมน์สูตรใหม่
  4. วางค่าพิเศษเฉพาะเหนือคอลัมน์เดิม
  5. ไฮไลต์คอลัมน์คลิกCtrl- H(เพื่อแทนที่) การค้นหาและแทนที่=ด้วย=(บังคับให้ประเมินเซลล์อีกครั้ง)
  6. ตอนนี้เซลล์ควรคลิกได้เป็นไฮเปอร์ลิงก์ หากคุณต้องการรูปแบบสีน้ำเงิน / ขีดเส้นใต้เพียงแค่ไฮไลต์เซลล์ทั้งหมดและเลือกสไตล์การเชื่อมโยงหลายมิติ

สไตล์ไฮเปอร์ลิงก์เพียงอย่างเดียวจะไม่แปลงเป็นลิงค์ที่คลิกได้และกล่องโต้ตอบ "แทรกไฮเปอร์ลิงก์" ไม่สามารถใช้ข้อความเป็นที่อยู่ของเซลล์จำนวนมากได้ นอกเหนือจากนั้นF2และEnterผ่านเซลล์ทั้งหมดก็ทำได้ แต่น่าเบื่อสำหรับเซลล์จำนวนมาก


3
เพิ่งทำ = (HYPERLINK (INDIRECT (ที่อยู่ (ROW (), COLUMN () + 1))) "แต่งตัว" & ROW ())) มันง่ายขึ้น
Nick Turner

เห็นด้วยนี่เป็นคำตอบที่ดีที่สุดซึ่งไม่ต้องการการบำรุงรักษา 2 คอลัมน์
matt

+1 สำหรับแทนที่ '=' -> '=' นั่นคือสิ่งที่ฉันค้นหา ขอบคุณ
นักพัฒนา

18

วิธีง่ายๆในการทำรายการสั้น ๆ :

  1. ดับเบิลคลิกที่กล่องที่มี URL
  2. เข้าสู่

คุณมีลิงค์ของคุณ;)


14
ฉันใช้ F2 เพื่อแก้ไขเซลล์จากนั้นป้อนซ้ำหลายครั้งเพื่อเรียกใช้รายการของฉันอย่างรวดเร็ว ง่าย ขอบคุณ!
ไบรอันแอช

1
บวกกับความคิดเห็นเกี่ยวกับ F2 แค่พาฉันไปที่คอลัมน์ 160 ไฮเปอร์ลิงก์ในเวลาประมาณหนึ่งนาที ดังนั้นใช่นี่คือวิธีที่จะไปหากคอลัมน์สั้นพอ
เทรเวอร์บราวน์

ฉันไม่คิดว่านี่จะเป็นวิธีแก้ปัญหาสำหรับคนที่มีเซลล์หลายร้อยแปลง
Ma3x

ฉันมี 287,000 แถว ร้องไห้.
thejohnbackes

12

หากการเพิ่มคอลัมน์พิเศษด้วยไฮเปอร์ลิงก์ไม่ใช่ตัวเลือกทางเลือกคือใช้เครื่องมือแก้ไขภายนอกเพื่อใส่ไฮเปอร์ลิงก์ของคุณลงใน=hyperlink("และ")เพื่อรับ=hyperlink("originalCellContent")

หากคุณมี Notepad ++ นี่เป็นสูตรที่คุณสามารถใช้เพื่อดำเนินการนี้แบบกึ่งอัตโนมัติ:

  • คัดลอกคอลัมน์ที่อยู่ไปยัง Notepad ++
  • การรักษาALT- กดขยายเคอร์เซอร์ของคุณจากด้านบนมุมซ้ายมุมล่างซ้ายและประเภทSHIFT =hyperlink("สิ่งนี้จะเพิ่ม=hyperlink("ที่จุดเริ่มต้นของแต่ละรายการ
  • เปิด "แทนที่" เมนู ( Ctrl- H) เปิดใช้งานการแสดงผลปกติ ( ALT- G) และแทนที่$(จุดสิ้นสุดของบรรทัด) "\)ด้วย สิ่งนี้จะเพิ่มเครื่องหมายคำพูดปิดและวงเล็บปิด (ซึ่งต้องหลีกเลี่ยง\เมื่อเปิดใช้งานนิพจน์ปกติ) ที่ท้ายบรรทัดแต่ละบรรทัด
  • วางข้อมูลลงใน Excel ในทางปฏิบัติเพียงคัดลอกข้อมูลและเลือกเซลล์แรกของคอลัมน์ที่คุณต้องการให้ข้อมูลสิ้นสุด

คำตอบที่ดี นี่เป็นวิธีเดียวที่จะไปหากคุณไม่ต้องการคอลัมน์เพิ่มเติมใด ๆ โซลูชันนี้สามารถใช้ได้กับโปรแกรมแก้ไขหรือภาษาการเขียนโปรแกรมทุกชนิด (ไม่ใช่แค่ Notepad ++) ใน Excel 2010 สิ่งนี้จะสร้างลิงก์แบบคลิกได้ แต่ฉันต้องใช้ "สไตล์การจัดรูปแบบการเชื่อมโยงหลายมิติ" ด้วยตนเองเพื่อทำให้ดูเหมือนเป็นลิงก์ (เช่นขีดเส้นใต้สีน้ำเงิน)
ไร้สาระ

หมายเหตุ:นี่ไม่จำเป็นต้องใช้แผ่นจดบันทึก ++ ... เพียงเพื่อความชัดเจนคุณสามารถทำได้ด้วยโปรแกรมแก้ไขข้อความใด ๆ เคล็ดลับคือการห่อแต่ละบรรทัดด้วย=hyperlink("__linecontentgoeshere__")... สำหรับผู้ที่อาจถูกเข้าใจผิดโดยการกล่าวถึง notepad ++
dreftymac

@dreftymac วิธีนี้ให้สูตรวิธีการทำสิ่งนี้เกือบอัตโนมัติโดยไม่แก้ไขทีละบรรทัด มันใช้ความสามารถของ Notepad ++ เพื่อขยายเคอร์เซอร์บนหลายบรรทัดและรองรับการแสดงออกปกติ บรรณาธิการอื่น ๆ อาจมีฟังก์ชั่นที่คล้ายกัน ฉันชี้แจงที่จุดเริ่มต้นของคำตอบของฉันผลลัพธ์ที่ตั้งใจไว้คืออะไรซึ่งควรกำจัดความเข้าใจผิด
อันโตนิโอ

1
// ฉันชี้แจงที่จุดเริ่มต้นของคำตอบของฉันผลลัพธ์ที่ตั้งใจไว้คืออะไร /ขอบคุณที่เน้นจุดของคุณ ฉันไม่ได้วิจารณ์คำตอบของคุณเพียงแค่ทำให้ชัดเจนยิ่งขึ้นสำหรับผู้ที่อาจไม่รู้อะไรเกี่ยวกับ Notepad ++ และอาจไม่ทราบว่ามันเป็นเพียงหนึ่งในตัวแก้ไขข้อความจำนวนมากที่สามารถทำสิ่งนี้ได้ ฉันรู้ว่าคุณรู้ แต่ไม่ใช่ทุกคนที่ทำ
dreftymac

1
คุณยังสามารถเขียนสูตรใน Excel ด้วย="=HYPERLINK("""&A1&""")"(สมมติว่า URL เป็น A1) จากนั้นคัดลอกผลลัพธ์ไปยัง Notepad และกลับสู่ Excel (อาจมีวิธีที่ดีกว่า) ตอนนี้คุณมีไฮเปอร์ลิงก์ที่ใช้งานได้ - คุณสามารถใช้สไตล์ไฮเปอร์ลิงก์จากพาเนลสไตล์กับพวกเขาเพื่อให้ได้ลุคที่ขีดเส้นใต้สีน้ำเงิน ถ้าคุณมีฉลากที่ลิงก์ในคอลัมน์ B ="=HYPERLINK("""&A1&""";"""&B1&""")"คุณสามารถใช้สูตรนี้
JonášJančařík

7

วิธีนี้ใช้ได้กับฉันโดยใช้ฟังก์ชันไฮเปอร์ลิงก์:

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

B10เซลล์ที่มีเวอร์ชันข้อความของ URL อยู่ที่ไหน(ในตัวอย่างนี้)


= HYPERLINK ("http: //" & B10, B10) ไม่ทำงานใน Excel 2013 ของฉันอย่างไรก็ตาม = HYPERLINK ("http: //" & B10) ทำงานได้ไม่ดี
agibsen

5

ด้วย Excel 2007 บน Windows ฉันพบว่าขั้นตอนเหล่านี้ง่ายที่สุด

  1. เลือกเซลล์ด้วย URL ที่ไม่ทำงาน
  2. สำเนา
  3. วางเป็นไฮเปอร์ลิงก์

1
ในรุ่นที่ใหม่กว่า (ฉันใช้ Office 2011) สิ่งนี้ไม่ทำงาน - ฉันเพิ่งได้รับการเชื่อมโยงหลายมิติไปยังไฟล์เดสก์ท็อป (อันนี้) ไม่ใช่ไปยัง URL ที่แสดงในเซลล์ เช่นไฟล์: // localhost / Users / xxxx / Desktop / Blahblahblah ชื่อไฟล์. xlsx - Sheet1! A2
Dannid

4

ฉันตกใจ 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. วางคอลัมน์บนหน้าที่คุณเพิ่งเปิดบนเบราว์เซอร์และกด "Linkify"
  2. คัดลอกผลลัพธ์จากแท็บไปยังคอลัมน์บน Excel

แต่ในขั้นตอนที่สองคุณสามารถใช้หน้าเว็บด้านล่างก่อนคลิกที่ "เรียกใช้ข้อมูลโค้ด" จากนั้นวางคอลัมน์ลงบน

<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>


3

สำหรับฉันฉันเพิ่งคัดลอกคอลัมน์ทั้งหมดที่มี URL ในรูปแบบข้อความไปยังแอปพลิเคชันอื่น (พูด Evernote) และเมื่อพวกเขาถูกวางที่นั่นพวกเขากลายเป็นลิงก์แล้วฉันก็คัดลอกกลับไปยัง Excel

สิ่งเดียวที่คุณต้องทำคือตรวจสอบให้แน่ใจว่าข้อมูลที่คุณคัดลอกบรรทัดด้านหลังมีคอลัมน์ที่เหลือ



2

ฉันพบว่าไม่มีวิธีการใด ๆ ที่นี่หากการเชื่อมโยงหลายมิติไม่ได้รวม 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

1
ขอบคุณสิ่งนี้ใช้ได้กับที่อยู่อีเมลภายในเอกสาร excel ฉันได้ลองใช้วิธีการอื่น ๆ แล้ว แต่นี่เป็นวิธีที่ใช้ได้แม้ว่าฉันจะต้องเปลี่ยน http: // เป็น mailto:
bawpie

2
  1. สร้างคอลัมน์ใหม่ชั่วคราวของการเชื่อมโยงหลายมิติโดยใช้สูตร = HYPERLINK ()
  2. คัดลอกคอลัมน์นั้นลงใน Microsoft Word (คัดลอกไปยังคลิปบอร์ดหลังจาก Word ทำงานอยู่เท่านั้น)
  3. คัดลอกทุกสิ่งในเอกสารคำใหม่ (ctrl + a, จากนั้น ctrl + c)
  4. วางลงใน Excel แทนที่คอลัมน์เดิมของข้อความ ลบคอลัมน์ชั่วคราวด้วยสูตร

1

คุณสามารถแทรกสูตร=HYPERLINK(<your_cell>,<your_cell>)ไปยังเซลล์ที่อยู่ติดกันและลากไปตามทางจนถึงด้านล่าง นี่จะให้คอลัมน์พร้อมลิงก์ทั้งหมด Hideตอนนี้คุณสามารถเลือกคอลัมน์เดิมของคุณได้โดยคลิกที่ส่วนหัวคลิกขวาและเลือก


1

วาง 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/ c5fa2890-acf5-461d-adb5-32480855e11eโดย (Jim Gordon Mac MVP) [ 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

ขอบคุณ Cassiopeia สำหรับรหัส ฉันเปลี่ยนรหัสของเขาเพื่อทำงานกับที่อยู่ในท้องถิ่นและทำการเปลี่ยนแปลงเล็กน้อยกับเงื่อนไขของเขา ฉันลบเงื่อนไขต่อไปนี้:

  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

ทำงานได้อย่างสมบูรณ์ฉันสร้างไฮเปอร์ลิงก์ ~ 7000 ในเวลาเพียงไม่กี่วินาที :) ขอบคุณ Cassiopeia
Junaid

ทำไมคุณถึงกำหนดNotPresent?
Steffen Roller

ฉันเพิ่งคัดลอกโค้ดข้างต้นจากคำตอบของ Cassiopeia ก่อน และดัดแปลงมันให้มากที่สุดเท่าที่ฉันเข้าใจ ดังนั้นฉันไม่รู้ว่า NotPresent จำเป็นหรือไม่ แต่รหัสที่แก้ไขของฉันทำงานได้อย่างสมบูรณ์แบบ
Junaid

1

ฉันมีรายการตัวเลขที่ป้อนเข้าไปใน 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

เป็นต้น

ไชโย


0

หากคุณคัดลอกเนื้อหาข้อความลงในคอลัมน์ใหม่และใช้:

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

ในคอลัมน์เดิมของคุณ จากนั้นใช้$คอลัมน์ for เพื่อให้มีลักษณะดังนี้:

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

นี่เป็นวิธีเดียวที่ฉันสามารถใช้กับ Excel 2010 บน Windows 7 คุณสามารถคัดลอกสูตรได้


0

สำหรับทุกคนที่ลงจอดที่นี่ด้วย Excel 2016 คุณสามารถไฮไลต์คอลัมน์ได้จากนั้นคลิกHyperlinkแท็บที่อยู่บนHomeRibbon ในStylesกล่อง

ป้อนคำอธิบายรูปภาพที่นี่

แก้ไข: น่าเสียดายที่นี่อัปเดตเฉพาะสไตล์เซลล์ไม่ใช่ฟังก์ชัน


3
นั่นให้สไตล์ของเซลล์เท่านั้นไม่ทำให้ URL นั้นสามารถคลิกได้
stenlytw

1
ใช่คิดว่านี่เป็นทางออกที่ดี แต่ก็ใช้งานไม่ได้ มันทำให้ฉันงงมากว่านี่เป็นเรื่องยาก
Dan

ฉันเพิ่งทดสอบสิ่งนี้และคุณสองคนถูกต้อง ฉันถูกหลอกโดยลักษณะเซลล์
jGroot

@jGroot - นี่คือสิ่งที่ฉันต้องการเพียงแค่สไตล์โดยไม่มีการทำงานใด ๆ
Raj Rajeshwar Singh Rathore

-1

วิธีที่ง่ายที่สุดที่นี่

  • เน้นทั้งคอลัมน์
  • คลิก '' แทรก ''
  • คลิก '' ไฮเปอร์ลิงก์ ''
  • คลิก '' สถานที่ในเอกสารนี้ ''
  • คลิกตกลง
  • นั่นคือทั้งหมด

ไม่สามารถใช้งานได้เว้นแต่ว่าลิงก์จะไปยังบางสิ่งภายในเอกสาร
Erica

ฉันเห็นด้วยว่าคำถามนั้นเป็นคำที่ไม่ดี แต่เป้าหมายที่ตั้งใจไว้ชัดเจนว่าเป็นข้อความ
Jason K.

-3

วิธีที่ง่ายที่สุดใน Excel 2010: เลือกคอลัมน์ที่มีข้อความ URL จากนั้นเลือกสไตล์การเชื่อมโยงหลายมิติจากแท็บหน้าแรก URL ทั้งหมดในคอลัมน์เป็นไฮเปอร์ลิงก์

นอกจากนี้การคลิกสองครั้งที่แต่ละเซลล์ในตอนท้ายของข้อความ URL และเพิ่มช่องว่างหรือเพียงแค่ป้อนก็จะสร้างการเชื่อมโยงหลายมิติ คล้ายกับวิธีที่คุณต้องสร้างลิงค์ URL ในอีเมล MS Outlook


4
พวกมันไม่ใช่ไฮเปอร์ลิงก์พวกมันดูเหมือนไฮเปอร์ลิงก์ นั่นเป็นเพียงการออกแบบ
Erica

-5

มีวิธีง่าย ๆ ในการทำเช่นนี้ สร้างไฮเปอร์ลิงก์เดียวจากนั้นใช้ Format Painter เพื่อคัดลอกการจัดรูปแบบ มันจะสร้างไฮเปอร์ลิงก์สำหรับทุกรายการ


8
มันใช้งานไม่ได้มันแค่คัดลอกการจัดรูปแบบเพื่อให้ดูเหมือนกับไฮเปอร์ลิงก์
reergymerej
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.