Metin URL'leri sütununu Excel'deki etkin köprülere nasıl dönüştürebilirim?


275

Tüm Web sitesi url değerlerine sahip excel bir sütun var. Benim sorum url değerlerini aktif linklere çevirmek istiyorum. Bu sütunda, tüm hücrelerde farklı URL'lere sahip yaklaşık 200 giriş vardır. Bir makro yazmadan tüm hücrelere aktif köprüler oluşturmanın bir yolu var mı?

Yanıtlar:


314

Bir makro yapmak istemiyorsanız ve ek bir sütunu önemsemediğiniz sürece, URL sütununuzun yanında yeni bir sütun oluşturun.

Formüle yeni sütun yazın =HYPERLINK(A1) (A1'i ilgilendiğiniz hücreyle değiştirmek). Ardından, formülü diğer 200 girişin altına kopyalayın.

Not: A1 hücresi 255 karakterden daha uzun bir dize içeriyorsa, bu çözüm çalışmaz. Bir #VALUE!hata ile sonuçlanır


2
A sütunum 200 bağlantı değeri içeriyorsa, yeni bir sütun oluşturmak yerine 200 değeri köprü oluşturacak ve A sütununa yeniden yazacak bir formül yazmak mümkün mü?
geliştirici

1
Mükemmel! En iyi şey, bu adım o kadar basit ki CSV dosyalarını bir katmana aktarabilirim ve kolayca URLS oluşturabilir.
Cardin Lee JH

3
Bunu yapmak için, bir sütun köprü sütununu kopyalayın ve saklamak istediğiniz sütuna "değeri yapıştırın".
Mike

1
Kullanım vakalarının çoğunu çözdüğü için bu cevap kabul edilmelidir.
Jay

Köprü olmayan ham sütunu gizle
RickAndMSFT

94

Makroyu burada olduğu gibi oluşturun:

Microsoft Excel'deki Araçlar menüsünden Makro'yu seçin ve sonra Visual Basic Düzenleyicisi'ni tıklatın. Ekle menüsünden Modülü'nü tıklatın. Bu kodu kopyalayıp modülün kod penceresine yapıştırın. Kendini otomatik olarak HyperAdd olarak adlandırır.

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

Makronuzu yapıştırmayı tamamladığınızda, Dosya menüsünde Kapat ve Microsoft Excel'e Dön'ü tıklatın.

Ardından gerekli hücreleri seçin ve makrosu tıklayın ve çalıştır'ı tıklayın.

NOT Sütunun tamamını SEÇMEYİN! SADECE tıklanabilir bağlantılara dönüştürülmesini istediğiniz hücreleri seçin. Bitti!


2
Açık seçeneği kullanıyorsanız Dim xCell As Range ekleyin. Hücreyi değiştiren (istendiği gibi) ve bunu yapan kodu sağlayan bir çözüm için +1.
Praesagus

Bu benim için iyi çalıştı, güncelleme ihtiyacı olan bir yığın sayfasında yaklaşık 50.000 bağlantı vardı ve yığın veya excel çökmek zorunda kaldı verdi.
ATek

2
Değişim köprüler, içine e-posta adreslerini yapmak için Address:=xCell.FormulaiçinAddress:="mailto:" & xCell.Formula
Danny Beckett

Ayrıca başlayarak değil URL'ler için http://bu ihtiyaçları eklenecek (yukarıdaki değişiklik, ancak yerine kullanmak mailto:ile http://Aksi köprüler işi yok..
Danny Beckett

1
Harika çalışıyor. FYI Excel 2016, çalışma sayfası başına 66.530 köprü sınırına sahiptir, bu nedenle bunu aşarsanız bir çalışma zamanı hatası bekleyebilirsiniz. support.office.com/tr-tr/article/…
Christopher O'Brien

24

İşte bulduğum bir yol. Excel 2011'i kullanan bir Mac kullanıyorum. B sütununun köprüler olmasını istediğiniz metin değerleri varsa, bu formülü C1 hücresine (veya D1'e veya boş bir sütun olduğu sürece) koyun:=HYPERLINK(B1,B1) yerleştirin Bu, bağlantı metni olarak konum ve bağlantı metni olarak "kolay ad". Her bağlantı için kolay bir ada sahip başka bir sütun varsa, bunu da kullanabilirsiniz. Ardından, görmek istemiyorsanız metin sütununu gizleyebilirsiniz.

Bir şeyin kimliklerinin bir listesine sahipseniz ve URL'lerin hepsi şöyleyse http://website.com/folder/ID, örneğin:

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

gibi bir şey kullanabilirsiniz =HYPERLINK("http://website.com/folder/"&A1,A1)ve url listesine ihtiyacınız olmaz. Bu benim durumumdu ve iyi çalıştı.

Bu yayına göre: http://excelhints.com/2007/06/12/hyperlink-formula-in-excel/ bu yöntem Excel 2007'de de çalışacaktır.


Windows, Excel 2013'te çalışır ve ekstra bir sütuna mükemmel bir alternatiftir.
mdisibio

FYI, Open Office için yukarıdaki bir hata verdi ancak = HYPERLINK (C1) yalnızca bir parametre verilirse çalışıyor gibi görünüyor
tonypdmtr

19

Tamam, burada hokey bir çözüm, ancak Excel'in bir URL sütununu köprüler olarak toplu olarak değerlendirmesini nasıl sağlayacağımı anlayamıyorum.

  1. Formül oluşturma, ="=hyperlink(""" & A1 & """)"
  2. Aşağı sürükleyin
  3. Yeni formül sütununu kopyala
  4. Özel Değerleri yalnızca orijinal sütunun üzerine yapıştırın
  5. Vurgu sütun, tıklama Ctrl- H(yerine), bulma ve değiştirme =ile =(her nasılsa güçler yeniden değerlendirme hücrelerinin).
  6. Hücreler artık köprüler olarak tıklanabilir olmalıdır. Mavi / altı çizili stili istiyorsanız, tüm hücreleri vurgulayın ve Köprü stilini seçin.

Köprü stili tek başına tıklanabilir bağlantılara dönüştürülmez ve "Köprü Ekle" iletişim kutusu metni toplu olarak bir grup hücrenin adresi olarak kullanamaz. Bunun dışında F2ve Entertüm hücreler aracılığıyla bunu yapardı, ancak bu birçok hücre için sıkıcı.


3
Sadece = (HYPERLINK (DOLAYLI (ADRES (SATIR (), SÜTUN () + 1)), "Elbise" ve SATIR ())) daha kolay
Nick Turner

Kabul edildi, bu 2 sütunun bakımını gerektirmeyen en iyi cevap.
matt

+1 Değiştir için '=' -> '='. aradığım şey bu. Teşekkürler.
Geliştirici

18

Oldukça kısa listeler için oldukça kolay bir yol:

  1. URL'nin bulunduğu kutuyu çift tıklayın
  2. Giriş

Bağlantınız var;)


14
Bir hücreyi düzenlemek için F2 tuşunu kullandım ve ardından listemi hızlı bir şekilde çalıştırmak için tekrar tekrar girin. Basit. Teşekkür ederim!
Bryan Ash

1
Bu artı F2 hakkındaki yorum beni bir dakika içinde 160 köprüden oluşan bir sütuna götürdü. Yani evet, sütun yeterince kısaysa gitmenin yolu budur.
Trevor Brown

Bunun yüzlerce hücresi olan biri için bir çözüm olabileceğini düşünmüyorum.
Ma3x

287.000 satırım var. Ağla.
thejohnbackes

12

Eğer köprüler ile ekstra bir sütun ekleyerek bir seçenek değildir, alternatif haline köprüyü içine harici düzenleyici kullanmaktır =hyperlink("ve") elde etmek için,=hyperlink("originalCellContent")

Notepad ++ ürününüz varsa, bu işlemi yarı otomatik olarak gerçekleştirmek için kullanabileceğiniz bir tarif:

  • Adres sütununu Notepad ++ klasörüne kopyalayın
  • Tutulması ALT- SHIFTüst sol alt köşesine, ve türüne köşe soldan bastırdı, imleci uzatıldı =hyperlink(". Bu =hyperlink(", her girişin başına eklenir .
  • "Değiştir" menüsünü ( Ctrl- H) açın, normal ifadeleri ( ALT- G) etkinleştirin ve $(satır sonu) ile değiştirin "\). Bu \, her satırın sonuna kapalı bir alıntı ve kapalı parantez ( düzenli ifadeler etkinleştirildiğinde kaçması gerekir) ekler .
  • Verileri Excel'de geri yapıştırın. Pratikte, verileri kopyalamanız ve verilerin bitmesini istediğiniz sütunun ilk hücresini seçmeniz yeterlidir.

Mükemmel cevap. Fazladan sütun istemiyorsanız, bu gitmek için tek yoldur. Çözüm her türlü editör veya programlama dili için kullanılabilir (sadece Notepad ++ değil). Excel 2010'da bu tıklanabilir bağlantılar oluşturur, ancak onları gerçekten bağlantılar (yani mavi altı çizili) gibi göstermek için "köprü biçimlendirme stilini" el ile uygulamak zorunda kaldı.
saçma

Not: Bu notepad ++ gerektirmez ... sadece netlik adına, bunu herhangi bir metin editörü ile yapabilirsiniz. Hile sadece her satırı ile sarmak =hyperlink("__linecontentgoeshere__")için ... notepad söz ile yanlış yönlendirilmiş olanlar için ++
dreftymac

@dreftymac Bu işlem satır satır düzenlenmeden neredeyse otomatik olarak nasıl yapılacağına dair bir tarif verir . İmleci birden çok satıra genişletmek ve normal ifadeleri desteklemek için Notepad ++ özelliğinden yararlanır; diğer editörlerin benzer işlevleri olabilir. Cevabımın başlangıcında, yanlış anlaşılmadan kurtulmak için amaçlanan sonucun ne olduğunu açıklığa kavuşturuyorum.
Antonio

1
// Cevabımın başlangıcında amaçlanan sonucun ne olduğunu açıklığa kavuşturuyorum // Düşüncelerinizi vurguladığınız için teşekkür ederiz. Cevabınızı eleştirmedim, sadece Notepad ++ hakkında bir şey bilmeyenler için biraz daha açık hale getirdim ve bunun bu tür bir şey yapabilen birçok metin editöründen biri olduğunu fark etmeyebilirim . Biliyorum sen farkında değil herkes yapar.
dreftymac

1
Excel'de ="=HYPERLINK("""&A1&""")"(URL'nin A1'de olduğu varsayılarak) formülü de oluşturabilirsiniz . Sonra sonucu Not Defteri'ne ve tekrar Excel'e kopyalayın (daha iyi bir yol olabilir). Artık çalışan köprüleriniz var - mavi altı çizili görünümü elde etmek için köprüler stilini Stiller panelinden bunlara uygulayabilirsiniz. Eğer B sütunundaki bağlantı etiketi varsa, bu formülü kullanabilirsiniz: ="=HYPERLINK("""&A1&""";"""&B1&""")".
Jonáš Jančařík

7

Bu yöntem köprü işlevini kullanarak benim için çalışıyor:

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

B10URL'nin metin sürümünü içeren hücre nerede (bu örnekte).


= HYPERLINK ("http: //" & B10, B10) Excel 2013'ümde çalışmadı, ancak = HYPERLINK ("http: //" & B10) DID çalışması.
agibsen

5

Windows'ta Excel 2007 ile bu adımları en basit buldum;

  1. Etkin olmayan URL'lere sahip hücreleri seçin
  2. kopya
  3. Köprü olarak yapıştır

1
Daha sonraki sürümde (Office 2011 kullanıyorum), bu çalışmıyor - Hücrede gösterilen url için değil, bir masaüstü dosyasına (bu) bir köprü alıyorum. örneğin dosya: // localhost / Kullanıcılar / xxxx / Masaüstü / Blahblahblah Dosya Adı.xlsx - Sayfa1! A2
Dannid

4

Excel'in bunu otomatik olarak yapmadığı için şok ettim, işte benim çözümüm umarım diğerleri için yararlı olur,

  1. Tüm sütunu panoya kopyala
  2. Bunu Chrome veya Firefox'unuzda açın

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. Tarayıcıda az önce açtığınız sayfaya sütunu yapıştırın ve "Linkify"
  2. Sonucu sekmeden Excel'deki sütuna kopyalayın

Bunun yerine ikinci adım yerine, aşağıdaki sayfayı kullanabilirsiniz, önce "Kod snippet'ini çalıştır" ı tıklayın, ardından sütunu üzerine yapıştırın

<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

Benim için URL'leri olan sütunun tamamını başka bir uygulamaya (Evernote diyelim) kopyaladım ve oraya yapıştırıldıklarında bağlantılar oldular ve sonra onları tekrar Excel'e kopyaladım.

Buradaki tek şey, kopyaladığınız verilerin sütunların geri kalanıyla aynı çizgide olduğundan emin olmanız gerekir.



2

Köprü yerel konumlara bağlı olarak http: // içermiyorsa, burada yöntemlerin hiçbiri işe yaramadı bulundu.

Ben de kullanıcılar kendileri korumak mümkün olmayacaktı ve ben mevcut olmayacaktı gibi script de aptal geçirmez istedim.

Yalnızca bir nokta içeriyorsa ve boşluk içermiyorsa, seçilen aralıktaki hücreler üzerinde çalışır. Yalnızca 10.000 hücreye kadar çalışır.

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
Teşekkürler, bu bir excel belgesi içinde e-posta adresleri için çalıştı - Birkaç farklı yöntem denedim ama http: // mailto:
bawpie

2
  1. Formül = HYPERLINK () kullanarak geçici yeni bir köprü sütunu oluşturun
  2. Bu sütunu Microsoft Word'e kopyalayın (panoya yalnızca Word çalıştırıldıktan sonra kopyalayın).
  3. Yeni sözcük belgesindeki her şeyi kopyalayın (ctrl + a, sonra ctrl + c).
  4. Metnin orijinal sütununu değiştirerek Excel'e yapıştırın. Geçici sütunu formülle silin.

1

Formülü =HYPERLINK(<your_cell>,<your_cell>)bitişik hücreye ekleyebilir ve sonuna kadar sürükleyebilirsiniz. Bu size tüm bağlantıları içeren bir sütun verecektir. Şimdi, başlığa tıklayarak orijinal sütununuzu seçebilir, sağ tıklayıp seçebilirsiniz Hide.


1

URL'leri bir HTML tablosuna yerleştirin, HTML sayfasını bir tarayıcıya yükleyin, o sayfanın içeriğini kopyalayın, Excel'e yapıştırın. Bu noktada URL'ler etkin bağlantılar olarak korunur.

Http://answers.microsoft.com/en-us/mac/forum/macoffice2008-macexcel/how-to-copy-and-paste-to-mac-excel-2008-a-list-of/ adresinde çözüm önerilmiştir. (Jim Gordon Mac MVP) tarafından c5fa2890-acf5-461d-adb5-32480855e11e [ http://answers.microsoft.com/en-us/profile/75a2b744-a259-49bb-8eb1-7db61dae9e78]

İşe yaradığını gördüm.

Şu URL'leri aldım:

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/1/snt/tyntii

Onları böyle bir HTML dosyasına (links.html) koydum:

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

Sonra links.html dosyasını tarayıcıma yükledim, kopyaladım, Excel'e yapıştırdım ve bağlantılar aktifti.


1

Kod için teşekkürler Cassiopeia. Kodunu yerel adreslerle çalışacak şekilde değiştirdim ve koşullarında küçük değişiklikler yaptım. Aşağıdaki koşulları kaldırdım:

  1. Değişim http:/içinfile:///
  2. Her türlü beyaz boşluk koşulu kaldırıldı
  3. 10k hücre aralığı koşulu 100k olarak değiştirildi

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

Mükemmel çalışıyor, sadece birkaç saniye içinde ~ 7000 köprü yaptım. :) Teşekkürler Cassiopeia.
Junaid

neden tanımlamak mı NotPresent?
Steffen Roller

Daha önce yukarıdaki Cassiopeia'nın cevabından kodu kopyaladım. Ve anladığım kadar değiştirdim. Bu yüzden NotPresent'in gerekli olup olmadığını bilmiyorum. Ancak değiştirilmiş kodum mükemmel çalışıyor.
Junaid

1

Hotlinked istiyorum url beslemek numaraların bir listesi vardı. Mesela soru numaralı A sütunum var (yani, 2595692, 135171) ve bu soru numaralarını hızlı bağlantılara dönüştürmek ve sadece soru numaralarını görüntülemek istiyorum.

Bu yüzden A Sütununu işaret eden salt metin bir köprü oluşturdum ve tüm soru numaralar için kopyaladım:

= "= KÖPRÜ (" & "" "http" "&" ":" "" & "" & "&" & "" "// stackoverflow.com/questions/"&A1&""""&","&A1& ")"

Sonra bu metin köprüsü sütununu başka bir sütuna kopyalayıp yapıştırıyorum.

Sonunda aşağıdakine benzeyen bir metin sütunu ile sonuçlanırsınız:

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

Sonra bu yapıştırılan öğeleri seçti ve aşağıdaki F2Entry Makro koştu:

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

Daha sonra metin giriş sütununu ve A Sütununu sildim.

Hotlinked soru numaraları tek bir sütun ile sona erdi:

2595692

135171

vb.

Şerefe


0

Metin içeriğini yeni bir sütuna kopyalar ve kullanırsanız:

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

orijinal sütununuzda. Sonra $sütun için kullanın, böylece şöyle görünür:

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

Windows 7'de Excel 2010'da benim için çalışmanın tek yolu budur. Formülü kopyalayabilirsiniz.


0

Excel 2016 ile buraya gelen herkes için sütunu vurgulayabilir, ardından kutudaki şeritte Hyperlinkbulunan sekmeyi tıklayabilirsiniz .HomeStyles

resim açıklamasını buraya girin

Düzenleme: Ne yazık ki, bu sadece hücre stilini günceller, fonksiyonu değil.


3
Bu, yalnızca hücre stillerini verir, URL'yi tıklanabilir hale getirmez.
stenlytw

1
Evet, bunun harika bir çözüm olduğunu düşündüm, ama işe yaramıyor. Bunun zor olduğu beni gerçekten şaşırtıyor.
Dan

Bunu yeni test ettim ve siz ikiniz haklısınız; Hücre stilleri beni kandırdı.
jGroot

@jGroot - Bu tam olarak herhangi bir işlevsellik olmadan sadece tarzı istediğim şeydi.
Raj Rajeshwar Singh Rathore

-1

Burada en kolay yol

  • Tüm sütunu vurgulayın
  • "ekle" yi tıklayın
  • '' Köprü''ye tıklayın
  • "bu dokümanda yerle" yi tıklayın
  • tıklayın tamam
  • bu kadar

Bağlantı belgenin İÇİNDEKİ bir şeye ait olmadığı sürece, bu çalışmaz.
Erica

Sorunun zayıf bir şekilde ifade edildiğini kabul ediyorum, ancak amaçlanan hedef açıkça metnin kendisidir.
Jason

-3

Excel 2010'daki en basit yol: URL metnine sahip sütunu seçin, ardından Giriş sekmesinden Köprü Stili'ni seçin. Sütundaki tüm URL'ler artık köprülerdir.

Ayrıca URL metninin sonundaki her hücreyi çift tıklayıp boş veya sadece enter eklemek de köprü oluşturur. MS Outlook e-postalarında URL bağlantıları oluşturma yönteminize benzer.


4
Köprüler değil, köprülere benziyorlar . Bu sadece stil.
Erica

-5

Bunu yapmanın çok basit bir yolu var. Bir köprü oluşturun ve ardından biçimlendirmeyi kopyalamak için Biçim Boyacısı'nı kullanın. Her öğe için bir köprü oluşturur.


8
Bu işe yaramaz, biçimlendirmeyi kopyalar, böylece köprüler gibi görünürler.
reergymerej
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.