Statistiche Coronavirus

Robyprog

Utente abituale
11 Agosto 2019
178
28
Palermo
Excel 2010
1
Salve a tutti.

Ciao MastroLindo @MastroLindo
Complimenti per il lavorocappello_saluta:

tutte le regioni ( meno la Val D'Aosta che non esiste nel sito)
Nel mio progetto ho avuto lo stesso problema ma e' solo una questione di come e' scritto l'indirizzo (per via dell'apostrofo sostituito con il trattino e d il trattino basso') prova così:


Visual Basic:
    'Per  Valle d'Aosta
    sito1 = "https://statistichecoronavirus.it/regioni-coronavirus-italia/valle-d_aosta/"
A me ha funzionato sul tuo progetto




<a href=http://www.filedropper.com/coronaviruscovid19mondialeconvalledaosta><img src=http://www.filedropper.com/download_button.png width=127 height=145 border=0/></a><br /><div style=font-size:9px;font-family:Arial, Helvetica, sans-serif;width:127px;font-color:#44a854;> <a href=http://www.filedropper.com >share files free</a></div>

Fammi sapere
Alla prossima
 

MastroLindo

Utente abituale
12 Aprile 2018
199
28
venezia
EXCEL 2016
0
I complimenti bisogna farli ges @ges , io ho espresso le mie idee nel suo lavoro.
Robyprog @Robyprog Grazie del tuo suggerimento. La Valle d'Aosta l'ho ricercata in tutto il sito senza avere successo.
Ora è compresa nella lista delle regioni.
Allego il link per scaricare il file con Dropox , così gli users hanno l'imbarazzo della scelta.
 
Ultima modifica:

MastroLindo

Utente abituale
12 Aprile 2018
199
28
venezia
EXCEL 2016
0
Dimenticavo non ho aggiunto righe di codice, ho scritto il nome della regione come riportato dal sito: valle-d_aosta
 

MastroLindo

Utente abituale
12 Aprile 2018
199
28
venezia
EXCEL 2016
0
Ciao
Per chi non si fosse accorto c'è un refuso nel foglio Mondo cella B4, non da la somma giusta di: "Morti nel Mondo"
Correggere l'intervallo della somma. Io ho corretto così: =SOMMA(G2:G210)
 

MastroLindo

Utente abituale
12 Aprile 2018
199
28
venezia
EXCEL 2016
0
Ciao
Accetto volentieri tutti i consigli da tutti.
P.S. Però io uso scrivere degli appunti sotto le colonne e se me li dimentico di cancellarli sfalsano i calcoli.
 

rollis13

VBA Expert
Expert
15 Novembre 2015
2.067
95
Cordenons
Office 2016 x32
151
Sostituito data ora aggiornamento pagina con codice vba.
Finalmente :applausi:.

Già che ci sei, perché non bloccare la prima riga superiore di tutti i fogli ? ne guadagno lo scrolling.
 
Ultima modifica:
  • Like
Reactions: Robyprog

ges

Excel/VBA Expert
Amministratore
21 Giugno 2015
28.072
1.865
Como
2011MAC 365WIN
815
Ottimo lavoro MastroLindo @MastroLindo ma voglio provare a velocizzare la macro
Visual Basic:
Sub Coronavirus_Italia()
    Dim HTML_Content As Object
    Dim Tr As Object
    Dim Td As Object
    Dim Tab1 As Object
    Dim iRow As Long
    Dim iCol As Integer
    Application.ScreenUpdating = False
    Sheets("ITALIA").Unprotect
    Range("E1:I10000") = ""
    Const Web_URL = "https://statistichecoronavirus.it/coronavirus-italia/"
    Set HTML_Content = CreateObject("htmlfile")
    With CreateObject("msxml2.xmlhttp")
        .Open "GET", Web_URL, False
        .send
        HTML_Content.Body.Innerhtml = .responseText
    End With
    iRow = 1: iCol = 5
    For Each Tr In HTML_Content.getElementsByTagName("table")(2).Rows
        For Each Td In Tr.Cells          
            Sheets("ITALIA").Cells(iRow, iCol) = Td.innerText
            iCol = iCol + 1
        Next Td
        iCol = 5: iRow = iRow + 1
    Next Tr
    MsgBox "Dati aggiornati!", vbInformation, "NOTIFICA"
    Cells(4, 1) = "Dati aggiornati al " & Now
    Application.ScreenUpdating = True
    Sheets("ITALIA").Protect
End Sub
Ho fatto solo Italia, regioni e province.
File da scaricare --> https://www.dropbox.com/scl/fi/h5rt...-19.xlsm?dl=0&rlkey=u4h1hn3fnx81ujsn5luoskdbs
 

rollis13

VBA Expert
Expert
15 Novembre 2015
2.067
95
Cordenons
Office 2016 x32
151
Per non occupare spazio inutile nel file propongo di modificare questa riga nella macro di ges @ges (post #134):
Range("E1:I10000") = ""
in
Range("E1:I10000").ClearContents
Naturalmente bisogna anche 'liberare' nei vari fogli le righe inutilmente contrassegnate da Excel come utilizzate per 'vedere' e mantenere il calo delle dimensioni del file.

Oppure modificare le macro nel suo file allegato (vedi post #134) per renderle più dinamiche, così (nell'esempio solo la macro del foglio ITALIA) :
Visual Basic:
Option Explicit
Sub Coronavirus_Italia()
    Dim iTable As Integer
    Dim iSheet As Worksheet
    Dim iRighe As Long                            '<= aggiungere
    iRighe = Range("E" & Rows.Count).End(xlUp).Row '<= aggiungere
    iTable = 2
    Set iSheet = Worksheets("ITALIA")
    Call Coronavirus(iTable, iSheet, iRighe)      '<= modificare
End Sub
e così:
Visual Basic:
Option Explicit
Sub Coronavirus(iTable, iSheet, iRighe)           '<= modificare
    Dim HTML_Content As Object
    Dim Tr     As Object
    Dim Td     As Object
    Dim Tab1   As Object
    Dim iRow   As Long
    Dim iCol   As Integer
    Application.ScreenUpdating = False
    iSheet.Unprotect
    iSheet.Range("E1:I" & iRighe) = ""            '<= modificare
   'iSheet.Range("E1:I" & iRighe).ClearContents    '<= alternativa
    Const Web_URL = "https://statistichecoronavirus.it/coronavirus-italia/"
    Set HTML_Content = CreateObject("htmlfile")
    ...
    ... segue resto del codice
    ...
e sempre 'liberando' nei vari fogli le righe inutili prima di salvare il file.
 
Ultima modifica:
  • Like
Reactions: ges

ges

Excel/VBA Expert
Amministratore
21 Giugno 2015
28.072
1.865
Como
2011MAC 365WIN
815
Ciao rollis13 @rollis13 sei un maniaco dello spazio Lingua_lingua ..... ma spero vivamente di non superare le 10.000 righe e che questo virus scompaia presto, il più presto possibile! SmileFace

Comunque io non ho usato "ClearContents" perchè volevo incrementare la velocità, infatti utilizzando = "" è più veloce.
 

rollis13

VBA Expert
Expert
15 Novembre 2015
2.067
95
Cordenons
Office 2016 x32
151
Lingua_lingua Sai ges @ges , il mio primo PC è stato un Sinclair ZX81 ed era dotato di 1KB di ram di cui disponibili per l'utente soli 678 byte. Copiando e modificando il codice sorgente da una rivista americana lo utilizzavo come video scrittura testuale. E' ancora utilizzabile se non mi funzionasse Word Muoio_muoio; il problema insormontabile è la compatibilità del supporto per trasferire i file TXT generati :devilish:.
 
  • Like
Reactions: Robyprog

MastroLindo

Utente abituale
12 Aprile 2018
199
28
venezia
EXCEL 2016
0
Per chi interessa ho postato una versione Nuova del programma.
Con questa versione posso scaricare i dati giornalieri di tutte le Nazioni del Mondo, "Mondo" compreso.
Ridotto a metà il numero dei fogli. Aggiunte oltre 150 bandiere delle nazioni mondiali.
In poche parole il file ha più o meno stesso peso (330 immagini "Bandiere" hanno un bel peso In kiloByte) di quello precedente però fa il lavoro per 150 volte in più.
L'unico problema e quello che la barra "Progress" non da la percentuale giusta di caricamento dati. Per evitare questo problema bisognerebbe contare prima il numero delle righe della Tavola da scaricare.
Come sempre accetto suggerimenti e consigli.

 
  • Like
Reactions: ges

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!