2014-11-25 166 views
0

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

我已级联我的纬度/经度(小数)插入在正确的格式文本的单电池(即纬度,经度),这是在列J和希望该超链接在列N,其中应阅读:

http://maps.google.com/?cbll= {纬度,经度从J列} & CBP = 12,90,,0,5 &层= C

我试图寻找一些其他的线程在这里,但不能完全解决它因为它们都是相当复杂的例子。希望有人能帮助我轻松解决这个问题!谢谢:)

回答

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

编辑#1:

要运行这个落笔列Ĵ,使用这个版本:

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

非常好,谢谢! 你能告诉我如何在300多行中重复这个吗?我尝试将“J1”更改为“J1:J300”,但它不喜欢它。 – 2014-11-25 14:31:24

+0

看我的**编辑#1 ** – 2014-11-25 14:43:16

+0

就是这样!谢谢! – 2014-11-25 14:53:10

相关问题