Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

importare tabella da web su excel

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

importare tabella da web su excel

Postdi gizmo86 » 09/11/14 11:04

salve a tutti,

vorrei importare in automatico su un foglio excel la tabella presente in questo link:

http://www.stat-football.com/en/t/ita10.php?c=23

selezionando su "Overall P=" il numero di giornate desiderato, verrà creata la relativa tabella.

a me interesserebbe importare in automatico la classifica delle ultime 3 giornate, io ho provato ad importarla da excel tramite dati->da web, ma purtroppo importa sempre la classifica delle ultime 6 giornate.

c'è un modo per poterla importare?

grazie a tutti :D
gizmo86
Newbie
 
Post: 2
Iscritto il: 09/11/14 10:52

Sponsor
 

Re: importare tabella da web su excel

Postdi Anthony47 » 09/11/14 23:07

Ciao gizmo86, benvenuto nel forum.
Ti consiglio di usare questa variante della macro GetTabbb, usata piu' volte per automatizzare raccolta dati da web:
Codice: Seleziona tutto
Sub GetTabbb()
'
myURL = "http://www.stat-football.com/en/t/ita10.php?c=23"
Set ie = CreateObject("InternetExplorer.Application")
   
With ie
    .navigate myURL
    .Visible = True

MsgBox ("Naviga sui risultati che ti servono; POI premi Ok")

    Do While .Busy: DoEvents: Loop    'Attesa not busy
    Do While .readyState <> 4: DoEvents: Loop 'Attesa documento
End With
'
myStart = Timer  'attesa addizionale
Do
    DoEvents
    If Timer > myStart + 2 Or Timer < myStart Then Exit Do
Loop

'Leggi le tabelle       <<<
Worksheets.Add                '..su un nuovo foglio
'Sheets("Foglio3").Select   '..OPPURE su un foglio esistente
'Cells.Clear                '....che viene azzerato all' inizio
Set mycoll = ie.document.getElementsByTagName("table")
aaaa = mycoll.Length
Set myitm = mycoll(3)

'For Each myItm In my2coll
    For Each trtr In myitm.Rows
        For Each tdtd In trtr.Cells
            Cells(I + 1, J + 1) = tdtd.innerText
            J = J + 1
        Next tdtd
        I = I + 1: J = 0
    Next trtr
I = I + 1
'Next myItm

'Stop     'Vedi testo

'Chiusura IE
ie.Quit
Set ie = Nothing
End Sub

La macro apre la pagina web in una sessione sua di InternetExplorer e si ferma con un messagebox che invita a completare la navigazione per ottenere i risultati che si desiderano; dopo l' Ok al messagebox la macro raccoglie il contenuto della tabella e chiude InternetExplorer.
Operativamente:
-da excel, Alt-F11 per aprire l' editor delle macro
-Menu /Inserisci /Modulo
-copia il codice e incollalo nel frame vuoto di dx

Torna poi su excel e manda in esecuzione la macro (Alt-F8, scegli GetTabbb dall' elenco che ti propone, premi Esegui) e controlla l'esito.
Il codice apre sempre un nuovo foglio per raccogliere i risultati; se vuoi invece usare un foglio gia' presente allora devi editare le righe che seguono il testo"Leggi le tabelle", mettendo un apostrofo in testa a Worksheets.Add e toogliendolo alle due righe successive.

Il codice funziona oggi, nulla garantisce che funzionera' anche domani, dipendendo in gran parte dall' analisi del sorgente html della pagina.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: importare tabella da web su excel

Postdi gizmo86 » 10/11/14 22:37

GRAZIE MILLE!!!

fa esattamente quello che chiedevo, sei un grande :D

volevo chiederti un'altra cosa, se volessi che la tabella viene copiata in un punto preciso del foglio, ad esempio a partire dalla cella A10, su quale linea di comando devo agire? su cells?

Grazie ancora! :D
gizmo86
Newbie
 
Post: 2
Iscritto il: 09/11/14 10:52

Re: importare tabella da web su excel

Postdi Anthony47 » 14/11/14 15:50

Mi era sfuggita la domanda…
Prova inserendo questa istruzione in questa posizione:
Codice: Seleziona tutto
Set myitm = mycoll(3)      'Esistente
J=10                       'AGGIUNGI QUESTA
'For Each myItm In my2coll 'Esistente


Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "importare tabella da web su excel":


Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti