Dag Arnold,
Bij mijn vorige post moest het vlug gaan (toch wel weer andere verplichtingen, zeker), en had in vorige versies geen samengestelde cellen aangetroffen, dus daarom daar ook totaal geen rekening mee gehouden. Maar goed, dat is ondertussen weer in orde.
Zoals voorzien alle voorgaande posts eens doorgenomen (ja ja, ik blijf het interessant vinden). Fijn dat er dus een website is gevonden waarvan wél de gegevens zijn binnen te halen. Ik kon het niet laten om daar eens wat dieper in te duiken (je kan ook wat langer in de geschiedenis teruggaan om eerdere trekkingen binnen te halen, merkte ik tussendoor) en wat details aangetroffen die maken dat enkele kleinigheden wat makkelijker/korter/veiliger kunnen.
Bijvoorbeeld, dat de winsten voor 6 en voor 5+ soms wel en soms niet samen in een cel staan (en dus wat omwegjes nodig hebben) kan opgevangen worden door ze allemaal samen op een andere manier binnen te halen en in één beweging te splitten.
De datum die je momenteel in historiek zet is nog geen echte datum maar tekst, al kan ik me voorstellen dat dit niet echt een probleem vormt, maar is wel eenvoudig op te lossen.
Last but not least:
om het helemaal 'professioneel'
te maken zou je zelfs de tussenstap langs kolommen AI en volgende helemaal kunnen weglaten!
Zoals gezegd, het zijn kleinigheden, dus met nadruk: gefeliciteerd met je vorderingen!
Het is zoals steeds jouw keuze om eender wat wel of niet te gebruiken, dus liever dan jouw laatste versie aan te passen (zeker door je keuzemogelijkheid over wat er met woensdag moet gebeuren) hier een macro die je eens in een leeg bestand kan testen. Als er zaken bij zitten die je wil implementeren lukt jou dat waarschijnlijk wel. En anders wil ik er uiteraard ook nog eens voor gaan zitten
Mvg,
Molly
Sub test()
Url = "https://www.geschenkwensen.be/lotto-uitslagen/"
Set xhtml = CreateObject("HTMLFile")
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", Url, False
.send
xhtml.body.innerHTML = .responseText
datum = DateValue(Split(Replace(Split(xhtml.getElementsByTagName("p")(4).innerText, Chr(13))(1), " ", "|", 1, 1), "|")(1))
Dim nmbrs
nmbrs = Split(Replace(Replace(xhtml.getElementsByTagName("p")(5).innerText, " ", ""), "+", Chr(150)), Chr(150))
reserve = nmbrs(6)
ReDim Preserve nmbrs(5)
Dim winst(9) As Variant
winsten = Split(xhtml.getElementsByTagName("p")(8).innerText, Chr(13))
For i = 0 To UBound(winsten)
tmp = Split(Trim(Split(winsten(i), ":")(1)), "€")
If UBound(tmp) = 0 Then
winst(i) = tmp(0)
Else
winst(i) = CDbl(Replace(Trim(tmp(1)), ".", ""))
End If
Next i
End With
Cells(1, 1).Resize(, 6) = nmbrs
Cells(2, 1) = reserve
Cells(3, 1) = datum
Cells(4, 1).Resize(9) = Application.Transpose(winst)
End Sub