Bagaimana cara mengubah kolom URL teks menjadi hyperlink aktif di Excel?


275

Saya memiliki kolom di excel, di mana saya memiliki semua nilai url situs web. Pertanyaan saya adalah saya ingin mengubah nilai url ke tautan aktif. Ada sekitar 200 entri di kolom itu dengan url berbeda di semua sel. Apakah ada cara saya bisa membuat hyperlink aktif ke semua sel tanpa menulis makro.

Jawaban:


314

Jika Anda tidak ingin membuat makro dan selama Anda tidak keberatan dengan kolom tambahan, maka cukup buat kolom baru di samping kolom URL Anda.

Di kolom baru ketik rumus =HYPERLINK(A1)(mengganti A1 dengan sel apa pun yang Anda tertarik). Kemudian salin formula ke bawah dari 200 entri.

CATATAN: Solusi ini tidak berfungsi jika sel A1 berisi string yang lebih panjang dari 255 karakter. Ini menghasilkan #VALUE!kesalahan


2
Jika kolom A saya berisi 200 nilai tautan, apakah mungkin untuk menulis rumus yang akan menautkan 200 nilai dan menulis ulang di kolom A, alih-alih membuat kolom baru?
pengembang

1
Luar biasa! Yang terbaik adalah, langkah ini sangat sederhana sehingga saya dapat mengirimkan file CSV kepada orang awam dan dia dapat menghasilkan URL dengan mudah.
Cardin Lee JH

3
Untuk membuatnya jadi satu kolom, cukup salin kolom hyperlink dan "rekatkan nilai" ke kolom mana saja yang ingin Anda simpan.
Mike

1
Ini harus diterima jawaban, karena itu memecahkan sebagian besar kasus penggunaan.
Jay

Sembunyikan kolom mentah yang bukan hyperlink
RickAndMSFT

94

Buat makro seperti di sini:

Pada menu Alat di Microsoft Excel, arahkan ke Makro, lalu klik Editor Visual Basic. Pada menu Sisipkan, klik Modul. Salin dan tempel kode ini ke jendela kode modul. Maka secara otomatis akan menamainya 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

Setelah selesai menempelkan makro Anda, klik Tutup dan Kembali ke Microsoft Excel pada menu File.

Kemudian pilih sel yang diperlukan dan klik makro dan klik jalankan.

CATATAN JANGAN pilih seluruh kolom! Pilih HANYA sel yang ingin Anda ubah menjadi tautan yang dapat diklik, jika tidak, Anda akan berakhir dalam lingkaran yang tidak berakhir dan harus memulai ulang Excel! Selesai!


2
Tambahkan Dim xCell As Range jika Anda menggunakan opsi eksplisit. Memberi +1 untuk solusi yang mengubah sel (seperti yang diminta) dan memberikan kode yang melakukannya.
Praesagus

Ini bekerja dengan baik bagi saya, mengingat saya memiliki sekitar 50.000 tautan dalam spreadsheet yang perlu diperbarui dan harus melakukannya dalam bongkahan atau excel akan macet.
ATek

2
Untuk membuat alamat email menjadi hyperlink, ubah Address:=xCell.FormulakeAddress:="mailto:" & xCell.Formula
Danny Beckett

Juga, untuk URL yang tidak dimulai dengan http://ini perlu ditambahkan (gunakan perubahan di atas, tetapi gantikan mailto:dengan http://. Kalau tidak, hyperlink tidak berfungsi.
Danny Beckett

1
Bagus sekali. FYI Excel 2016 memiliki batas 66.530 hyperlink per lembar kerja, jadi perkirakan kesalahan run-time akhirnya jika Anda melebihi itu. support.office.com/en-us/article/…
Christopher O'Brien

24

Inilah cara saya temukan. Saya menggunakan Mac menggunakan Excel 2011. Jika kolom B memiliki nilai teks yang Anda inginkan menjadi hyperlink, masukkan rumus ini di sel C1 (atau D1 atau apa pun asalkan itu kolom gratis):=HYPERLINK(B1,B1) Ini akan menyisipkan hyperlink dengan lokasi sebagai teks tautan dan "nama ramah" sebagai teks tautan. Jika Anda memiliki kolom lain yang memiliki nama ramah untuk setiap tautan, Anda dapat menggunakannya juga. Kemudian, Anda bisa menyembunyikan kolom teks jika Anda tidak ingin melihatnya.

Jika Anda memiliki daftar ID sesuatu, dan url-nya semuanya http://website.com/folder/ID, seperti:

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

Anda dapat menggunakan sesuatu seperti =HYPERLINK("http://website.com/folder/"&A1,A1)dan Anda tidak memerlukan daftar url. Itu adalah situasi saya dan bekerja dengan baik.

Menurut posting ini: http://excelhints.com/2007/06/12/hyperlink-formula-in-excel/ metode ini akan bekerja di Excel 2007 juga.


Bekerja di Windows, Excel 2013 dan merupakan alternatif yang bagus untuk kolom tambahan.
mdisibio

FYI, untuk Open Office di atas memberikan kesalahan tetapi tampaknya = HYPERLINK (C1) berfungsi jika hanya diberikan satu parameter
tonypdmtr

19

OK, ini solusi tipu, tapi saya tidak tahu bagaimana cara mendapatkan Excel untuk mengevaluasi kolom URL sebagai hyperlink secara massal.

  1. Buat formula, ="=hyperlink(""" & A1 & """)"
  2. Tarik ke bawah
  3. Salin kolom formula baru
  4. Rekatkan Nilai Khusus-hanya di atas kolom asli
  5. Sorot kolom, klik Ctrl- H(untuk mengganti), mencari dan mengganti =dengan =(entah bagaimana memaksa evaluasi ulang sel).
  6. Sel sekarang harus dapat diklik sebagai hyperlink. Jika Anda ingin gaya biru / garis bawah, maka cukup sorot semua sel dan pilih gaya Hyperlink.

Gaya hyperlink saja tidak akan dikonversi menjadi tautan yang dapat diklik, dan dialog "Sisipkan Hyperlink" tampaknya tidak dapat menggunakan teks sebagai alamat untuk sekelompok sel secara massal. Selain itu, F2dan Entermelalui semua sel akan melakukannya, tapi itu membosankan untuk banyak sel.


3
Lakukan saja = (HYPERLINK (TIDAK LANGSUNG) (ALAMAT (ROW (), COLUMN () + 1)), "Berpakaian" & ROW ())) lebih mudah
Nick Turner

Setuju, ini adalah jawaban terbaik yang tidak memerlukan pemeliharaan 2 kolom.
matt

+1 Untuk Ganti '=' -> '='. itulah yang saya cari. Terima kasih.
Pengembang

18

Cara yang cukup mudah untuk daftar yang agak pendek:

  1. Klik dua kali pada kotak di mana url berada
  2. Memasukkan

Anda memiliki tautan Anda;)


14
Saya menggunakan F2 untuk mengedit sel, lalu masuk, berulang kali untuk menjalankan daftar saya dengan cepat. Sederhana. Terima kasih!
Bryan Ash

1
Ini ditambah dengan komentar tentang F2 yang baru saja membawa saya ke kolom 160 tautan dalam waktu sekitar satu menit. Jadi ya, ini adalah cara untuk pergi jika kolomnya cukup pendek.
Trevor Brown

Saya tidak berpikir ini bisa menjadi solusi bagi seseorang dengan ratusan sel untuk dikonversi.
Ma3x

Saya memiliki 287.000 baris. Menangis.
thejohnbackes

12

Jika menambahkan kolom tambahan dengan hyperlink bukanlah suatu opsi, alternatifnya adalah menggunakan editor eksternal untuk menyertakan hyperlink Anda ke dalam =hyperlink("dan "), untuk mendapatkan=hyperlink("originalCellContent")

Jika Anda memiliki Notepad ++, ini adalah resep yang dapat Anda gunakan untuk melakukan operasi ini secara semi-otomatis:

  • Salin kolom alamat ke Notepad ++
  • Menjaga ALT- SHIFTditekan, diperpanjang kursor Anda dari kiri atas sudut ke sudut kiri bawah, dan jenis=hyperlink(" . Ini menambahkan =hyperlink("di awal setiap entri.
  • Buka menu "Ganti" ( Ctrl- H), aktifkan ekspresi reguler ( ALT- G), dan ganti $(ujung jalur) dengan "\). Ini menambahkan kutipan tertutup dan tanda kurung tertutup (yang perlu diloloskan \ketika ekspresi reguler diaktifkan) di akhir setiap baris.
  • Tempel kembali data dalam Excel. Dalam praktiknya, cukup salin data dan pilih sel pertama kolom di mana Anda ingin data berakhir.

Jawaban yang bagus Ini adalah satu-satunya cara untuk pergi jika Anda tidak menginginkan kolom tambahan. Solusinya dapat digunakan untuk semua jenis editor atau bahasa pemrograman (bukan hanya Notepad ++). Di Excel 2010 ini memang membuat tautan yang dapat diklik, tetapi saya harus secara manual menerapkan "gaya pemformatan hyperlink" untuk benar-benar membuatnya tampak seperti tautan (yaitu garis bawah berwarna biru).
absurd

Catatan: Ini tidak memerlukan notepad ++ ... hanya demi kejelasan, Anda dapat melakukan ini dengan editor teks apa pun. Caranya adalah dengan hanya membungkus setiap baris dengan =hyperlink("__linecontentgoeshere__")... bagi mereka yang dapat disesatkan dengan menyebutkan notepad ++
dreftymac

@dreftymac Ini memberikan resep bagaimana melakukan ini hampir secara otomatis, bukan mengedit baris demi baris. Ini memanfaatkan kemampuan Notepad ++ untuk memperluas kursor pada banyak baris dan mendukung ekspresi reguler; editor lain mungkin memiliki fungsi serupa. Saya mengklarifikasi di awal jawaban saya apa hasil yang dimaksudkan, yang harus menghilangkan kesalahpahaman.
Antonio

1
// Aku mengklarifikasi di awal jawaban saya apa hasil yang dimaksudkan // Terima kasih telah menekankan poin Anda. Saya tidak mengkritik jawaban Anda, hanya membuatnya sedikit lebih jelas bagi mereka yang mungkin tidak tahu apa-apa tentang Notepad ++, dan mungkin tidak menyadari itu hanyalah salah satu dari banyak editor teks di luar sana yang dapat melakukan hal semacam ini. Saya tahu Anda menyadarinya, tetapi tidak semua orang melakukannya.
dreftymac

1
Anda juga dapat membuat rumus dengan Excel ="=HYPERLINK("""&A1&""")"( dengan asumsi URL dalam A1). Kemudian salin hasilnya ke Notepad dan kembali ke Excel (mungkin ada cara yang lebih baik). Sekarang Anda memiliki hyperlink yang berfungsi - Anda dapat menerapkan gaya hyperlink dari panel Styles ke mereka untuk mendapatkan tampilan bergaris bawah biru. Jika Anda memiliki label tautan di kolom B, Anda dapat menggunakan rumus ini:="=HYPERLINK("""&A1&""";"""&B1&""")" .
Jonáš Jančařík

7

Metode ini berfungsi untuk saya menggunakan fungsi hyperlink:

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

Di mana B10sel berisi versi teks URL (dalam contoh ini).


= HYPERLINK ("http: //" & B10, B10) tidak berfungsi di Excel 2013 saya, namun = HYPERLINK ("http: //" & B10) DID berfungsi.
agibsen

5

Dengan Excel 2007 di Windows, saya menemukan langkah-langkah ini paling sederhana;

  1. Pilih sel dengan URL yang tidak aktif
  2. Menyalin
  3. Rekatkan sebagai hyperlink

1
Di versi yang lebih baru (saya menggunakan Office 2011), ini tidak berfungsi - Saya hanya mendapatkan hyperlink ke file desktop (yang ini), bukan ke url yang ditampilkan di sel. mis. file: // localhost / Users / xxxx / Desktop / Blahblahblah File Name.xlsx - Sheet1! A2
Dannid

4

Saya kaget Excel tidak melakukan ini secara otomatis, jadi ini solusi saya, saya harap akan bermanfaat bagi orang lain,

  1. Salin seluruh kolom ke papan klip
  2. Buka ini di Chrome atau Firefox Anda

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. Rekatkan kolom pada halaman yang baru saja Anda buka di browser dan tekan "Linkify"
  2. Salin hasil dari tab ke kolom di Excel

Alih-alih langkah kedua, Anda dapat menggunakan halaman di bawah ini, pertama, klik "Run snippet code" lalu tempel kolom di atasnya

<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

Bagi saya, saya hanya menyalin seluruh kolom yang memiliki URL dalam format teks ke aplikasi lain (katakanlah Evernote), dan ketika mereka ditempel di sana mereka menjadi tautan, dan kemudian saya hanya menyalinnya kembali ke Excel.

Satu-satunya hal di sini adalah Anda perlu memastikan data yang Anda salin kembali baris dengan sisa kolom.



2

Saya menemukan bahwa tidak ada metode di sini yang berfungsi jika hyperlink tidak menyertakan http: // karena mereka ditautkan ke lokasi lokal.

Saya juga ingin membodohi naskah karena pengguna tidak akan dapat memeliharanya sendiri dan saya tidak akan tersedia.

Ini hanya akan berjalan pada sel dalam rentang yang dipilih jika mengandung titik dan tanpa spasi. Ini hanya akan berjalan hingga 10.000 sel.

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
Terima kasih, ini berfungsi untuk alamat email dalam dokumen excel - Saya sudah mencoba beberapa metode berbeda tapi ini yang berhasil walaupun saya perlu mengubah http: // menjadi mailto:
bawpie

2
  1. Buat kolom baru hyperlink sementara menggunakan rumus = HYPERLINK ()
  2. Salin kolom itu ke Microsoft Word (salin ke clipboard hanya setelah Word berjalan).
  3. Salin semua yang ada di dokumen kata baru (ctrl + a, lalu ctrl + c).
  4. Rekatkan ke Excel, ganti kolom teks asli. Hapus kolom sementara dengan rumus.

1

Anda bisa menyisipkan formula =HYPERLINK(<your_cell>,<your_cell>)ke sel yang berdekatan dan seret sepanjang jalan ke bawah. Ini akan memberi Anda kolom dengan semua tautan. Sekarang, Anda dapat memilih kolom asli dengan mengeklik tajuk, klik kanan, dan pilih Hide.


1

Masukkan URL ke dalam tabel HTML, muat halaman HTML ke dalam browser, salin konten halaman itu, tempel ke Excel. Pada titik ini, URL dipertahankan sebagai tautan aktif.

Solusi diusulkan pada 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 oleh (Jim Gordon Mac MVP) [ http://answers.microsoft.com/en-us/profile/75a2b744-a259-49bb-8eb1-7db61dae9e78]

Saya menemukan bahwa itu berhasil.

Saya punya URL ini:

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/1nynTiiLS/

Saya memasukkannya ke file HTML (links.html) seperti ini:

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

Lalu saya memuat links.html ke browser saya, disalin, ditempelkan ke Excel, dan tautan itu aktif.


1

Terima kasih Cassiopeia untuk kodenya. Saya mengubah kodenya untuk bekerja dengan alamat lokal dan membuat sedikit perubahan pada kondisinya. Saya menghapus ketentuan berikut:

  1. Ubah http:/kefile:///
  2. Dihapus semua jenis kondisi ruang putih
  3. Mengubah kondisi rentang sel 10k menjadi 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

Bekerja dengan sempurna, saya membuat ~ 7000 hyperlink hanya dalam beberapa detik. :) Terima kasih Cassiopeia.
Junaid

mengapa kamu mendefinisikan NotPresent?
Steffen Roller

Saya baru saja menyalin kode di atas dari balasan Cassiopeia sebelumnya. Dan memodifikasinya sebanyak yang saya mengerti. Jadi saya tidak tahu apakah NotPresent diperlukan atau tidak. Tetapi kode saya yang dimodifikasi bekerja dengan sangat baik.
Junaid

1

Saya punya daftar nomor yang memberi makan ke url saya ingin hotlink. Misalnya saya memiliki Kolom A dengan nomor pertanyaan (yaitu, 2595692, 135171) dan saya ingin mengubah nomor pertanyaan ini menjadi hotlink dan hanya menampilkan nomor pertanyaan.

Jadi saya membuat hyperlink hanya teks yang mengarah ke Kolom A, dan menyalinnya ke semua nomor pertanyaan saya:

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

Lalu saya salin - rekatkan nilai kolom hyperlink teks ini ke kolom lain.

Anda berakhir dengan kolom teks yang terlihat seperti berikut:

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

Lalu saya memilih item yang ditempel ini dan menjalankan F2Entry Macro yang mengikuti:

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

Saya kemudian menghapus kolom entri teks dan Kolom A.

Saya berakhir dengan satu kolom nomor pertanyaan hotlink:

2595692

135171

dll.

Bersulang


0

Jika Anda menyalin konten teks ke kolom baru dan menggunakan:

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

di kolom asli Anda. Kemudian gunakan $untuk kolom sehingga terlihat seperti ini:

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

Itulah satu-satunya cara kerjanya bagi saya di Excel 2010 pada Windows 7. Anda dapat menyalin formula.


0

Untuk siapa saja yang mendarat di sini dengan Excel 2016, Anda cukup menyorot kolom, lalu klik Hyperlinktab yang terletak di Homepita di Styleskotak.

masukkan deskripsi gambar di sini

Sunting: Sayangnya, ini hanya memperbarui gaya sel, bukan fungsi.


3
Itu hanya memberi gaya sel, tidak membuat URL dapat diklik.
stenlytw

1
Ya, mengira ini adalah solusi hebat, tetapi tidak berhasil. Ini benar-benar membingungkan saya bahwa ini sulit.
Dan

Saya baru saja menguji ini dan kalian berdua sudah benar; Saya tertipu oleh gaya sel.
jGroot

@ jGroot - Inilah yang saya inginkan hanya gaya tanpa fungsi apa pun.
Raj Rajeshwar Singh Rathore

-1

Cara termudah di sini

  • Sorot seluruh kolom
  • klik '' masukkan ''
  • klik '' Hyperlink ''
  • klik '' tempat di dokumen ini ''
  • klik ok
  • itu saja

Itu tidak berfungsi, kecuali tautannya terkait dengan sesuatu DALAM dokumen.
Erica

Saya setuju bahwa pertanyaannya adalah kata-kata yang buruk, tetapi target yang dimaksud jelas dari teks itu sendiri.
Jason K.

-3

Cara paling sederhana di Excel 2010: Pilih kolom dengan teks URL, lalu pilih Hyperlink Style dari tab Home. Semua URL di kolom sekarang hyperlink.

Juga mengklik ganda setiap sel di akhir teks URL dan menambahkan kosong atau cukup masukkan juga akan menghasilkan hyperlink. Mirip dengan cara Anda harus membuat tautan URL dalam email MS Outlook.


4
Itu bukan hyperlink, mereka terlihat seperti hyperlink. Itu hanya gaya.
Erica

-5

Ada cara yang sangat sederhana untuk melakukan ini. Buat satu hyperlink, dan kemudian gunakan Format Painter untuk menyalin format. Itu akan membuat hyperlink untuk setiap item.


8
Ini tidak berfungsi, itu hanya menyalin format sehingga mereka terlihat seperti hyperlink.
reergymerej
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.