• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

#WAARDE! bij berekenen afstand tussen postcodes

Status
Niet open voor verdere reacties.

lauralicious

Gebruiker
Lid geworden
1 nov 2011
Berichten
11
Dag lezers,

Op dit forum heb ik veel gelezen over het automatisch berekenen van de afstand tussen postcodes, precies wat ik zoek. Bijvoorbeeld het bestand bij deze vraag is wat ik nodig heb: http://www.helpmij.nl/forum/showthread.php/604469-postcode-afstand-berekenen

Als ik het bestand open in Excel 2010 wordt deze automatisch geopend in de Beveiligde weergave. Dan zie ik de afstand staan. Als ik 'bewerken inschakel' verdwijnt de afstand en komt er #WAARDE! te staan. Ik heb de onderstaande opties een voor een gewijzigd, zonder resultaat:
Bestand > Opties > Vertrouwenscentrum > Instellingen voor vertrouwenscentrum
- Alle macro's inschakelen
- Alle besturingselementen zonder waarschuwingen inschakelen
- Externe inhoud: Alle gegevensverbindingen inschakelen

In VBE (Alt+F11) heb ik de volgende verwijzing ingeschakeld: "Microsoft Internet Controls". Heeft ook niet geholpen.

Ik maak gebruik van Office 2010 op een Windows 7 laptop. Ik hoop dat iemand mij kan helpen!!

Groetjes,
Laura
 
Is er niemand die weet wat ik moet instellen? Je zou mij enorm helpen!!
Alvast bedankt.

Groetjes,
Laura
 
Over welk bestand heb je het precies?
Er staan er namelijk een aantal in de topic.

Met vriendelijke groet,


Roncancio
 
Heb je ook de referentie in orde gemaakt naar Microsoft XML. (in de VBE: Tools - References).
Verder kan het een optie zijn om met de VBE stap voor stap door de code te lopen om te zien waar het misgaat.
Ik neem aan dat nadat je de beveiliging hebt aangepast je het bestand opnieuw hebt geopend.

Ik werk ook met een laptop met Windows 7 (Enterprise) en Excel 2010 en het programma werkt gewoon.

Met vriendelijke groet,


Roncancio
 
Ik het bestand inderdaad opnieuw geopend. XML verwijzing staat aan, zie bijlage. Foutopsporing werkt niet (F8 doet niets, geeft ping geluid). De berekeningstappen weergeven in Excel levert ook niets op.. Ik weet niet meer waar ik het zoeken moet.
Berekeningsstappen.jpg
VBA Foutopsporing.jpg
Verwijziging.jpg
 
- Berekeningsstappen zijn niet nodig omdat het VBA betreft en geen Excel.
- Als je een Pinggeluid hoort dan is er toch is niet goed. Krijg je geen (fout)melding?
- De verwijzing is in orde.

Zet een onderbrekingsteken in de regel...
Code:
Public Function GetDistanceBetweenAreaCodes(Code1 As String, Code2 As String)
Ga naar de cel B2, klik in de formule en druk op Enter. Als het goed is ga je naar de regel waar je het onderbrekingspunt hebt gezet. Ga vervolgens met F8 door de code om te zien waar het misgaat en/of welke melding je krijgt.

Met vriendelijke groet,


Roncancio
 
Laat maar, ik heb het al gevonden: F9.

Ik weet niet zo goed de foutopsporing werkt, maar de volgende regels worden geel:
sURL = "http://route.anwb.nl/routeplanner/servlet/rp?action=0&zip1="
sURL = sURL & Code1 & "&city1=&street1=&zip2="
sURL = sURL & Code2 & "&city2=&street2=&iad=homepage.navigatie.middenkolom.routeplannerplanroute"
Set oResult = GetPage(sURL)

En na de volgende regel komt de ping weer:
Set oObj = New XMLHTTP40

Vervolgens heb ik bij verwijzingen XML4.0 aangevinkt (en 6.0 uit want ik kreeg de melding dat er een conflict was met een ander object). Dit heeft helaas niet geholpen, zelfde probleem (ook na herstarten Excel..).

Ik hoop dat je hier iets aan hebt.
 
Laatst bewerkt:
Je zou het rode gedeelte kunnen verwijderen uit de code.

Code:
Public Function GetPage(sLink As String) As XMLHTTP40
    Dim oObj As [COLOR="#FF0000"][B]MSXML2.[/B][/COLOR]XMLHTTP40

Verder vraag ik mij af wat voor melding je krijgt bij de beep.

Met vriendelijke groet,


Roncancio
 
Rode gedeelte verwijderd, geen resultaat. Ik krijg geen melding bij de Beep. Hij komt nu aan het einde van de foutopsporing als ik nog een keer op F8 druk nadat alle regels zijn geweest, het heeft dus denk ik niet met de code te maken.
Ik ga even office opnieuw installeren.. misschien helpt het.
Iniedergeval bedankt!
 
Code:
Option Explicit

Public Function GetPage(sLink As String) As XMLHTTP60
    Dim oObj As XMLHTTP60
    Set oObj = New XMLHTTP60
    oObj.Open "GET", sLink, False
    oObj.send ""
    Set GetPage = oObj
End Function

Public Function GetDistanceBetweenAreaCodes(Code1 As String, Code2 As String)
    Dim oResult As XMLHTTP60
    Dim oDOM As DOMDocument60
    Dim sStr As String
    Dim sResult As String
    Dim sURL As String
    Const sKeyWords As String = "</strong> route over <strong>"
    sURL = "http://route.anwb.nl/routeplanner/servlet/rp?action=0&zip1="
    sURL = sURL & Code1 & "&city1=&street1=&zip2="
    sURL = sURL & Code2 & "&city2=&street2=&iad=homepage.navigatie.middenkolom.routeplannerplanroute"
    Set oResult = GetPage(sURL)
    Set oDOM = New DOMDocument60
    sStr = oResult.responseText
    sResult = Mid(sStr, InStr(sStr, sKeyWords) + Len(sKeyWords))
    sResult = Replace(Mid(sResult, 1, InStr(sResult, " ")), ",", ".")
    GetDistanceBetweenAreaCodes = Val(sResult)
End Function
 
Code volledig vervangen. Nu komt een foutmelding met deze tekst geselecteerd:
Public Function GetPage(sLink As String) As XMLHTTP60

Compileerfout.jpg
 
Maar werkt het nu ???
Heb beide functies in jouw voorbeeldbestand getest en krijg netjes 95,5 km, dus met beide functies is absoluut NIETS mis en werken gegarandeerd 200%
Welke verwijzingen heb je in VBA aangevinkt staan ?
 
Heb je beide functies in een standaardmodule geplaatst ?
Zo te zien werk je met XL2010, daar kan ik je niet verder mee helpen, maar zie daar niet onmiddelijk een probleem in.
In XL2007 werken beide functies alleszins perfectemundo.
 
Ik heb Office2007 geïnstalleerd en nu werkt het! Ik heb niets in hoeven te stellen.
Het zit hem dus in de office versie.. misschien kan iemand het bestand geschikt maken voor office2010?
Iedereen bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan