【问题标题】:Excel VBA: Insert text from cell within a hyperlinkExcel VBA:从超链接中的单元格插入文本
【发布时间】:2014-11-25 12:20:15
【问题描述】:

我是这里的新手,有一个非常简单的问题。我在 Excel 中有一些纬度/经度数据,我想将其转换为谷歌地图街景超链接。我在这里查看了关于如何将超链接放在一起的另一个线程,但我正在努力解决如何将纬度/经度数据重复复制到网址中间。

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

http://maps.google.com/?cbll={lat,long from column J}&cbp=12,90,,0,5&layer=c

我已经尝试在这里查看其他一些线程,但无法完全解决,因为它们都是相当复杂的示例。希望有人可以帮助我轻松解决这个问题!谢谢:)

【问题讨论】:

    标签: google-maps excel hyperlink vba


    【解决方案1】:

    考虑:

    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&layer=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
    

    【讨论】:

    • 太好了,谢谢!你能告诉我如何在 300 多行中重复这个过程吗?我尝试将“J1”更改为“J1:J300”,但它不喜欢它。
    • 就是这样!谢谢!
    猜你喜欢
    • 2014-11-20
    • 1970-01-01
    • 2015-01-14
    • 2016-08-23
    • 1970-01-01
    • 2017-07-23
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    相关资源
    最近更新 更多