• 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.

Opgelost Koppeling maken met KNMI data platform in Excel

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.
Aanpassen naar juiste gegevens is gelukt.

Nu krijg ik in de cel alleen een aantal spaties voor de waarde, hierdoor kan ik de gegeven niet optellen.
Is er een mogelijkheid dat ik dit in de query aan kan passen?
Als ik de berichtjes zo lees dan is het beetje onduidelijk aan het worden.
Heb je het nu over de query of over de VBA oplossingen van Aar?
 
Ter info: je kan de data in CSV, XML en JSON ophalen. Misschien is een van de andere makkelijker te implementeren.
 
Ik heb nog een beetje verder gestoeid met power query en dit is er zo'n beetje uitgerold.
Waar het denkelijke fout gaat in de VBA module is dat de z.g. "vars=VICL:PRCP" nergens in de legenda bij het KNMI voorkomen.
Tenminste niet in de URL " https://www.daggegevens.knmi.nl/klimatologie/daggegevens" >> "Uurwaarnemingen"

Als "stns=" heb ik 377 én 249 genomen dus Berkenhout en Ell.
Voor "vars=" heb ik de code "T" gebruikt welke in de legenda staat. Ik weet natuurlijk niet welke legenda codes je nog meer wilt gebruiken en/of welke meetstations.

Het bestandje is een .xlsb maar er staan geen VBA codes in. .xlsx was een beetje te "zwaar" voor te uploaden.
 

Bijlagen

Probleem met de spaties voor de getallen opgelost
In module Blad1
Code:
Public Sub KNMIPOST2()

    With Range("A1").CurrentRegion

        .ClearContents

        sURL = "https://www.daggegevens.knmi.nl/klimatologie/daggegevens"
        sPOST = "stns=377&vars=VICL:PRCP&start=20240108&end=20240109"

        With CreateObject("msxml2.xmlhttp")
            .Open "POST", sURL, False
            .Send sPOST
            sResponseText = .responsetext
        End With
     
        vLines = Split(sResponseText, vbLf)
        For lRow = 0 To UBound(vLines) - 1
            vLine = Split(vLines(lRow), ",")
            Cells(lRow + 1, 1).Resize(, UBound(vLine) + 1).Formula = WorksheetFunction.Index(vLine, 1, 0)
        Next
     
        .Rows(.Rows.Count).Columns.AutoFit

    End With

End Sub
 
@alphamax
Misschien een hele stomme vraag maar om welke bijlage gaat het? "In module Blad1"?
 
Als ik de berichtjes zo lees dan is het beetje onduidelijk aan het worden.
Heb je het nu over de query of over de VBA oplossingen van Aar?
Het gaat om de query, ik probeer om te beginnen de gegevens in ander tabblad weer per maand op te tellen.

Maar dit gaat volgens mij niet omdat die spaties erbij staan....
 

Bijlagen

Ik zie al dat het makkelijker gaat met een draaitabel als met formule die ik in bestand had gezet.

Alleen moet ik hier nog even mee oefenen..

Ik gebruik berkhout 249.

En hiervan wil ik de mm, temp, en joule. Dat zijn TG, Q en RH....
Ik heb nog een beetje verder gestoeid met power query en dit is er zo'n beetje uitgerold.
Waar het denkelijke fout gaat in de VBA module is dat de z.g. "vars=VICL:pRCP" nergens in de legenda bij het KNMI voorkomen.
Tenminste niet in de URL " https://www.daggegevens.knmi.nl/klimatologie/daggegevens" >> "Uurwaarnemingen"

Als "stns=" heb ik 377 én 249 genomen dus Berkenhout en Ell.
Voor "vars=" heb ik de code "T" gebruikt welke in de legenda staat. Ik weet natuurlijk niet welke legenda codes je nog meer wilt gebruiken en/of welke meetstations.

Het bestandje is een .xlsb maar er staan geen VBA codes in. .xlsx was een beetje te "zwaar" voor te uplo
 
@peter59
Het gaat niet over een bijlage, het gaat over een nieuwe bestand wat je moet openen en de code die je er in moet plakken.

Het stukje code is VBA code
  1. open excel - het excel venster springt open;
  2. toets (linker) ALT+F11 - de VBE visual basic editor venster springt open;
  3. dubbel klik links in de boom op "Blad1(Blad1)" of "Sheet1(Sheet1)" in de engelse excel;
  4. plak de code;
  5. ga terug naar excel;
  6. toets ALT+F8 - macro venster sprint open;
  7. dubbelklik "Blad1.KNMIPOST2" - de macro wordt uitgevoerd en het blad1 vult zich met gegevens;
  8. sla het excel bestand op als .xlsm.
 
@alidakuiper
Nieuw bestandje bijgevoegd. Ik hoop dat dit een beetje aan je verwachtingen voldoet.

@alphamax
Dank voor je goede uitleg.
Ja voldoet wel aan mij verwachtingen :)

Nu zoek ik alleen nog een manier om de waardes van MM te delen door 10. Omdat dit word weergeven in tienden.

Ik probeer het hier aan te passen, maar dan krijg ik foutmeldingen...

1705166045100.png
 
Hallo,

In de bijlage aangepast.
Wil je berekeningen maken dan doe je dat in "DrTbl_Gegevens_Legenda"
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan