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

Weppage data in Excel historisch wegschrijven

Status
Niet open voor verdere reacties.

Dave35nl

Gebruiker
Lid geworden
27 feb 2002
Berichten
216
Hoi,

Ik wil data van een webpage inlezen in Excel en automatisch wegschrijven als historische data.

Ik heb een voorbeeldje gemaakt met de actuele waterstanden, de data wordt elke minuut van de webpagina afgehaald en ge-update in Excel.

Wat ik zou willen is dat ook elke minuut de data op regel 12 wordt weggeschreven in tabblad "blad2" op een nieuwe regel, in het voorbeeld staat de nieuwe regel onderaan, maar het zou "mooier" zijn als deze regel wordt ge-insert bovenaan, zodat de laatste regel bovenaan staat.

Ikzelf zit te denken om een macro daarvoor te schrijven maar ik zou niet weten hoe ik die op timer kan laten lopen, kan iemand mij daarbij helpen ?

Alvast bedankt en groeten,

Dave
Bekijk bijlage Data webpage.xls
 
Code:
Misschien met zoiets?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With Sheets("Blad2")
   .[A1].EntireRow.Insert
   .[A1] = [A12].Value
  End With
End Sub

Maar na goed 45 dagen is kolom A vol bij continu openstaan.
Dus aanpassing gedaan om de laatste rij te verwijderen.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With Sheets("Blad2")
   [COLOR="red"].[A65536].Delete[/COLOR]   
   .[A1].EntireRow.Insert
   .[A1] = [A12].Value
  End With
End Sub
 
Laatst bewerkt:
Inderdaad die loopt vol, maar perfect opgelost, bedankt ! :thumb:

Groeten,
Dave
 
Hoi HSV,

Liep nog tegen 1 ding aan, is het mogelijk om een date / timestamp mee te geven zodat ik kan zien wanneer een regel is toegevoegd ?

Ik heb de code voor mijn projectje als volgt aangepast:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With Sheets("Blad2")
   .[A65536].Delete
   .[A5].EntireRow.Insert
   .[A5:R5] = [A7:R7].Value
   End With
End Sub
 
Dave,

Voeg deze regel toe boven 'End With'
Code:
.[A5].Offset(, 18) = FormatDateTime(Now(), vbGeneralDate)

Of: .[S5] = FormatDateTime(Now(), vbGeneralDate)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan