Excel VBA:在超链接中插入单元格中的文本

时间:2014-11-25 12:20:15

标签: google-maps excel-vba hyperlink vba excel

我是这里的新手,有一个非常简单的问题。我在Excel中有一些lat / long数据,我想将其转换为Google Maps Street View超链接。我在这里查看了另一个线程如何将超链接放在一起,但我正在努力研究如何重复地将纬度/经度数据复制到网址的中间。

我将lat / long(十进制)连接成一个单元格作为正确格式的文本(即 lat,long ),这是在J列中,并希望超链接位于列中N,应该是:

http://maps.google.com/?cbll= {lat,长于J列}& cbp = 12,90 ,, 0,5& layer = c

我已经尝试过在这里查看其他一些帖子但是不能完全解决它们,因为它们都是相当复杂的例子。希望有人可以帮我解决这个问题!谢谢:))

1 个答案:

答案 0 :(得分:0)

考虑:

Sub dural()
    Dim s1 As String, s2 As String, s3 As String, s4 As String
    s1 = "http://maps.google.com/?cbll={"
    s3 = "}&cbp=12,90,,0,5&layer=c"
    s2 = Range("J1").Text
    s4 = s1 & s2 & s3
    With ActiveSheet
        .Hyperlinks.Add Anchor:=Range("N1"), Address:=s4, TextToDisplay:=s2
    End With
End Sub

如果 J1 包含:

51.507351.,-0.127758

N1 的结果是:

http://maps.google.com/?cbll= - 安培{51.507351,0.127758。}; CBP = 12,90,,0,5&安培;层= C

修改#1:

要运行此向下列 J,,请使用此版本:

Sub dural2()
    Dim s1 As String, s2 As String, s3 As String, s4 As String
    Dim N As Long, i As Long
    N = Cells(Rows.Count, "J").End(xlUp).Row
    s1 = "http://maps.google.com/?cbll={"
    s3 = "}&cbp=12,90,,0,5&layer=c"
    For i = 1 To N
        s2 = Range("J" & i).Text
        s4 = s1 & s2 & s3
        With ActiveSheet
            .Hyperlinks.Add Anchor:=Range("N" & i), Address:=s4, TextToDisplay:=s2
        End With
    Next i
End Sub