Birden fazla postayı postalamak: bir Excel elektronik tablosundaki bağlantılar


1

mailto:Sütunlardan birinde köprülerin listesini içeren bir Excel elektronik tablom var .
Bunların bir seçimine bir e-posta gönderebilmek istiyorum, ancak seçimin bir parçası olarak bile tıkladığınızda, bu bağlantıyı posta programına gönderir ve kopyalamaya çalışmak yalnızca görünen metni kopyalar. altta yatan bağlantıyı kopyalamanın bir yolu yok gibi görünüyor.

Ayrıca, farklı mantıksal insan gruplarını tüm adreslerini içeren tek bağlantılarda birleştirmek için, alttaki bağlantıya başka bir hücrede bulunan bir formülden erişmenin bir yolunu bulamıyorum.

Etrafı dolaştım ve içinde birden fazla adres bulunan bağlantılar için birçok çözüm buldum, ancak her biri başlangıç ​​noktası olarak tek bir adres içeren bir bağlantı kümesi almayan bir çözüm bulamadım.

Nasıl yapıldığını bilen var mı?

Yanıtlar:


0

Burada biraz VBA kullanmak zorunda kalacağız, ama endişelenmeyin - bu hoş ve kolay!

Alt+ Tuşlarına basın F11. Bu, Visual Basic Düzenleyicisi'ni getirecektir. Üst menü çubuğundan, Ekle ve ardından Modül'ü tıklayın . Aşağıdaki kodu sağda görünen pencereye yapıştırın:

Function GetEmailAddress(EmailCell As Range) As String
   GetEmailAddress = Replace(EmailCell.Hyperlinks(1).Address, "mailto:", "")
End Function

Bu pencereyi şimdi kapatabilir ve e-tablonuza geri dönebilirsiniz.

Bağlantı içeren adlar listenizin sağına bir sütun ekleyin. E-posta adreslerimizi burada depolayacağız. Bu formülü girin ve kopyalayın:

=GetEmailAddress(A2)

görüntü tanımını buraya girin

İlgilendiğiniz e-posta adreslerini başka bir hücrede birleştirin ve sonucu köprüleyin:

=HYPERLINK("mailto:"&A2&","&A3&","&A4&","&A5,"email people")

Bu email people, ekran görüntüsündeki D4 hücresinde gösterildiği gibi bir bağlantı üretir . Bağlantıyı tıkladığınızda, e-posta istemcinize adreslerin listesini gönderir.

görüntü tanımını buraya girin

Not - Bazı VBA kodu eklediğimiz için dosyayı bir .xls veya .xlsm dosyası olarak kaydetmemiz gerekir.


Sorun, görünen metin kişinin adıdır, bu nedenle formüllerle ilgili bir şey denersem, görünen adları e-posta adresleriyle alırım. Bir formülde gerçek bağlantı hedefine ulaşmanın bir yolunu bulamıyorum.
Craig Graham

Ah, demek istediğim, hücre değeri kelimenin tam anlamıyla kişinin adıdır ve birisi hücreyi sağ tıklattı, bir köprü ekledi ve e-posta adresini bu şekilde gömdü mü? Ahh. Tamam, evet, bununla başa çıkabiliriz. Bir keneye yaslan.
Andi Mohr

Evet. Neden sadece ayrı bir e-posta sütunu olmadığını bilmiyorum ama onu korumak benim değil.
Craig Graham

0

Kabul edilen cevap fazladan bir sütun yapmayı içerdiğinden ve aslında son bir köprüye sahip olmak konusunda fazla sıkılmam. işlevi. Benzer yapan biri için faydalı olabilir ve yorum yapmadı.

Function GetEmailAddress(EmailCell As Range) As String

    Dim addressList As String
    Dim sep As String

    For Each c In EmailCell.Cells
        addressList = addressList & sep & Replace(c.Hyperlinks(1).Address, "mailto:", "")
        sep = ","
    Next

   GetEmailAddress = addressList

End Function 
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.