destination Afstand reistijd
zutphen
apeldoorn 22,3 00:32
hengelo 67,1 00:49
dusseldorf 153 01:44
7202CN 152 01:44
ruurlo 24,8 00:28
-1 #N/B
deventer -1 #N/B
-1 #N/B
-1 #N/B
-1 #N/B
-1 #N/B
Mijn probleem ligt in de cel boven deventer : doordat hier geen waarde staat rekent hij in de lijst afstand ook niet door.
Is er een manier om via mijn VBA code ervoor te zorgen dat hij automatisch in de lege cel de waarde van de cel erboven aanneemt??? In dit geval Ruurlo.
En deze dan niet weergeeft in cel???? onderstaand de code, bijvoegen bestand lukt om 1 of andere reden niet. u mag mij ook rechtstreeks mailen.
Elke hulp is welkom. Ben geen programmeur maar kan code redelijk lezen.
zutphen
apeldoorn 22,3 00:32
hengelo 67,1 00:49
dusseldorf 153 01:44
7202CN 152 01:44
ruurlo 24,8 00:28
-1 #N/B
deventer -1 #N/B
-1 #N/B
-1 #N/B
-1 #N/B
-1 #N/B
Mijn probleem ligt in de cel boven deventer : doordat hier geen waarde staat rekent hij in de lijst afstand ook niet door.
Is er een manier om via mijn VBA code ervoor te zorgen dat hij automatisch in de lege cel de waarde van de cel erboven aanneemt??? In dit geval Ruurlo.
En deze dan niet weergeeft in cel???? onderstaand de code, bijvoegen bestand lukt om 1 of andere reden niet. u mag mij ook rechtstreeks mailen.
Elke hulp is welkom. Ben geen programmeur maar kan code redelijk lezen.
Code:
''''''''''''''''''''''''''''''''''
' Reisafstand berekenen
'
' start = startlocatie
' eind = eindlocatie
' vervoer = manier waarop te reizen
' eenheid = mogelijk in meters of kilometers
'
''''''''''''''''''''''''''''''''''
Public Function G_AFSTAND(start As String, eind As String, Optional vervoer As Variant, Optional eenheid As Variant) As Variant
Dim Verv As String
Dim Eenh As String
Dim Link As String
Dim Bestemming As String
Dim Mode As String
Dim Taal As String
''' Link opbouw '''
Link = "https://maps.googleapis.com/maps/api/distancematrix/json?origins="
Bestemming = "&destinations="
Mode = "&mode="
Taal = "&language=nl"
''' Controleren op waarde in vervoer '''
' Openbaar vervoer is een registratienummer voor nodig bij google '
If IsMissing(vervoer) = True Or IsEmpty(vervoer) = True Then
Verv = "driving"
Else
If vervoer > 2 Then
Verv = "driving"
Else
Select Case vervoer
Case 0: Verv = "driving"
Case 1: Verv = "walking"
Case 2: Verv = "bicycling"
End Select
End If
End If
''' Eenheid display '''
If IsMissing(eenheid) = True Or IsEmpty(eenheid) = True Then
Eenh = 0
Else
Eenh = eenheid
End If
''' Oproepen informatie '''
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
URL = Link & Replace(start, " ", "+") & Bestemming & Replace(eind, " ", "+") & Mode & Verv & Taal
objHTTP.Open "GET", URL, False
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
objHTTP.send ("")
''' Als POST tekst niet klopt '''
If InStr(objHTTP.responseText, """distance"" : {") = 0 Then GoTo Error
''' Als eenheid in meters '''
meters = Right(objHTTP.responseText, Len(objHTTP.responseText) - InStr(objHTTP.responseText, """value"" : ") - 9)
''' Als eenheid in kilometers '''
kilometers = Right(objHTTP.responseText, Len(objHTTP.responseText) - InStr(objHTTP.responseText, """text"" : """) - 9)
''' Eindresultaat maken '''
If Eenh = 1 Then
G_AFSTAND = CDbl(Replace(Split(meters)(0), ".", ","))
Else
G_AFSTAND = CDbl(Replace(Split(kilometers, " km""")(0), ".", ","))
End If
Exit Function
''' Error uitgang '''
Error:
G_AFSTAND = -1
End Function