Condividi:        

Importazione dati da web

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

Importazione dati da web

Postdi ahidai » 13/01/11 14:00

Ciao
Ecco il mio “problema” ho foglio (A1:E135) che importa dati da web sia testo che numerici (risultati di calcio formato ora 01.02) con le formule ora e minuto riesco ad estrarre i dati e cioè (1 e 2) e fin qui tutto ok, il problema è che se non viene disputata una partita importo questo dato ( -:- ) e chiaramente con le formule di cui sopra mi da errore (#VALORE!). Ci sto sbattendo la testa ma non riesco a trovare una soluzione, gentilmente qualcuno potrebbe darmi una mano anche con una macro, grazie e buon lavoro a tutti.
ahidai
Utente Senior
 
Post: 212
Iscritto il: 08/12/10 17:33

Sponsor
 

Re: Importazione dati da web

Postdi ricky53 » 13/01/11 15:11

Ciao,
dovresti dire quale formula utilizzi per estrarre i dati e poi ... mettere un controllo sul dato non presente (quale dato è effettivamente contenuto nelle celle senza orario ???)
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Importazione dati da web

Postdi ahidai » 13/01/11 21:04

ricky53 ha scritto:Ciao,
dovresti dire quale formula utilizzi per estrarre i dati e poi ... mettere un controllo sul dato non presente (quale dato è effettivamente contenuto nelle celle senza orario ???)



Grazie per la risposta ricky53, allora come dicevo prima con il dato importato che è 01.02 (ho verificato che tipo di formattazione è "orario") utilizzo la formula =ora(a1)nella cella b1 e =minuto(a1) nella cella c1 e ottengo questo risultato 1 e 2 quindi tutto ok.
Come dicevo quando non viene disputato un incontro importo questo dato -:- quindi con l'utilizzo delle formule sopra citate ottengo un risultato di errore e precisamente #VALORE!. Ne ho provate tante di formule per es. SE, SE.ERRORE, e così via, ma niente....
Spero di essermi spiegato, ho cercato di allegare il file ma mi dice questo account non ha ancora il permesso di inviare link nei post, bhe mi sono iscritto da poco comunque ho messo il file su http ://www filedropper com / importadati.
Ciao e grazie ancora.
ahidai
Utente Senior
 
Post: 212
Iscritto il: 08/12/10 17:33

Re: Importazione dati da web

Postdi pietrol » 13/01/11 23:34

Ciao ahidai
in F128
=SE(D128="- : - ";"";ORA(D128))
in G128
=SE(D128="- : - ";"";MINUTO(D128))
poi copiale dappertutto


ciao
pietrol
il lupo ululà, il castello ululì
pietrol
Utente Senior
 
Post: 270
Iscritto il: 07/01/09 14:34

Re: Importazione dati da web

Postdi ahidai » 14/01/11 09:01

pietrol ha scritto:Ciao ahidai
in F128
=SE(D128="- : - ";"";ORA(D128))
in G128
=SE(D128="- : - ";"";MINUTO(D128))
poi copiale dappertutto


ciao
pietrol


Grazie Pietro, ecco dove sbagliavo
=SE(D128=(D128);"";ORA(D128))
in F128
=SE(D128=(D128);"";MINUTO(D128))
in G128
quindi facendo così mi dava vuoto nella cella quando c'era il formato orario mentre quando c'era l'errore era Ok.
Grazie ancora e approfitto per salutare tutti.
ahidai
Utente Senior
 
Post: 212
Iscritto il: 08/12/10 17:33

Re: Importazione dati da web

Postdi ahidai » 14/01/11 14:20

Scusate se ne approfitto ma avrei bisogno di un'altro aiuto se è possibile.
Allora, ho creato un macro piccola macro per aggiornare i risultati ed è:

Sub Aggiorna_Risultati()
' Aggiorna_Risultati Macro
ActiveWorkbook.RefreshAll
End Sub

Funziona bene!!! L'unico problema è che impiega molto tempo per aggiornare tutte e 30 le giornate di campionato, e poi sarebbe più logico aggiornare la giornata di campionato corrente, quindi mi chiedevo se era possibile creare una userform con l'elenco di tutte e 30 le giornate di campionato più 1 aggiornamento totale, chiaramente ho 30 connessioni 1 per ogni giornata.
Ho cercato un pò in giro per vedere se c'era qualcosa al caso mio ma niente da fare e siccome non sono un genio in queste cose (sto cercando di imparare qualcosa).
Qualcuno potrebbe aiutarmi per favore. Grazie anticipatamente.
ahidai
Utente Senior
 
Post: 212
Iscritto il: 08/12/10 17:33

Re: Importazione dati da web

Postdi Anthony47 » 14/01/11 15:31

Direi che dipende da come e' fatto il tuo foglio e da come si comporta il sito da cui scarichi.

Puoi allegare un esempio di file? per le istruzioni vedi qui: viewtopic.php?f=26&t=80395

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19223
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Importazione dati da web

Postdi ahidai » 14/01/11 21:46

Anthony47 ha scritto:Direi che dipende da come e' fatto il tuo foglio e da come si comporta il sito da cui scarichi.

Puoi allegare un esempio di file? per le istruzioni vedi qui: viewtopic.php?f=26&t=80395

Ciao


Grazie per la risposta e l'aiuto che mi vuoi dare Anthony47 ecco il file http://www.filedropper.com/importadati_1

Ciao.
ahidai
Utente Senior
 
Post: 212
Iscritto il: 08/12/10 17:33

Re: Importazione dati da web

Postdi Anthony47 » 15/01/11 19:46

Mah... immagino che dovresti fare il refresh dei dati 1-2 volte a settimana, per cui aspettare 1-2 minuti non dovrebbe essere una tragedia.
Comunque:
In prima alternativa casereccia potresti all' occorrenza andare su foglio IMPORTA DATI, cercare la giornata ancora da aggiornare, tasto dx all' interno dei dati di quella giornata, scegli Aggiona dati.
In seconda alternativa, fai tasto dx sul tab col nome RISULTATI, scegli Visualizza codice, incolli il seguente codice nel frame di dx:
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
TVal = Target.Range("A1").Value
TAdr = Target.Address
On Error GoTo Esci
If Right(TVal, 10) <> "^ Giornata" Then Exit Sub
Application.EnableEvents = False
Sheets("IMPORTA DATI").Select: ActiveSheet.Range("A1").Activate
ActiveSheet.UsedRange.Find(TVal, LookIn:=xlValues).Select
ActiveCell.Interior.Color = RGB(255, 255, 0)
Selection.QueryTable.Refresh BackgroundQuery:=False
ActiveCell.Interior.Color = RGB(255, 255, 255)
Esci:
Application.EnableEvents = True
Sheets("RISULTATI").Select: Range(TAdr).Select
End Sub

Poi torni su excel al foglio RISULTATI; quando selezioni una cella con l' intestazione XX^ Giornata partira' l' aggiornamento di quella sola giornata.

Prova e fai sapere.
Avatar utente
Anthony47
Moderatore
 
Post: 19223
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Importazione dati da web

Postdi ahidai » 15/01/11 23:13

Anthony47 ha scritto:Mah... immagino che dovresti fare il refresh dei dati 1-2 volte a settimana, per cui aspettare 1-2 minuti non dovrebbe essere una tragedia.
Comunque:
In prima alternativa casereccia potresti all' occorrenza andare su foglio IMPORTA DATI, cercare la giornata ancora da aggiornare, tasto dx all' interno dei dati di quella giornata, scegli Aggiona dati.
In seconda alternativa, fai tasto dx sul tab col nome RISULTATI, scegli Visualizza codice, incolli il seguente codice nel frame di dx:
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
TVal = Target.Range("A1").Value
TAdr = Target.Address
On Error GoTo Esci
If Right(TVal, 10) <> "^ Giornata" Then Exit Sub
Application.EnableEvents = False
Sheets("IMPORTA DATI").Select: ActiveSheet.Range("A1").Activate
ActiveSheet.UsedRange.Find(TVal, LookIn:=xlValues).Select
ActiveCell.Interior.Color = RGB(255, 255, 0)
Selection.QueryTable.Refresh BackgroundQuery:=False
ActiveCell.Interior.Color = RGB(255, 255, 255)
Esci:
Application.EnableEvents = True
Sheets("RISULTATI").Select: Range(TAdr).Select
End Sub

Poi torni su excel al foglio RISULTATI; quando selezioni una cella con l' intestazione XX^ Giornata partira' l' aggiornamento di quella sola giornata.

Prova e fai sapere.



Grazie Anthony47 funziona a meraviglia, immensamente grato, scusami se ti chiedo un'ultima cosa è possibile nascondere il foglio "IMPORTA DATI" quando faccio l'aggiornamento della giornata? Il codice non funziona quando nascondo il foglio "IMPORTA DATI".
Grazie ancora e ciao.
ahidai
Utente Senior
 
Post: 212
Iscritto il: 08/12/10 17:33

Re: Importazione dati da web

Postdi Flash30005 » 16/01/11 00:55

Non ho seguito l'intera discussione ma credo che tu possa inserire
questo codice dopo queste righe
Codice: Seleziona tutto
If Right(TVal, 10) <> "^ Giornata" Then Exit Sub
Application.EnableEvents = False

qui inserisci
Codice: Seleziona tutto
Sheets("IMPORTA DATI").visible = true

e questa alla fine (prima dell'End Sub)
Codice: Seleziona tutto
Sheets("IMPORTA DATI").visible = false


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Importazione dati da web

Postdi Anthony47 » 16/01/11 02:06

Io mi sarei limitato a inserire Application.ScreenUpdating = False come prima istruzione (subito dopo la riga Private Sub Worksheet_SelectionChange) e Application.ScreenUpdating = True subito prima di End Sub.

Pero' cosi' semplicemente "non vedi" il lavoro su Foglio2 durante l' aggiornamento, e non sono sicuro che questo ti basta.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19223
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Importazione dati da web

Postdi ahidai » 16/01/11 08:23

Grazie ancora, funziona tutto bene inserendo
Sheets("IMPORTA DATI").visible = true
Sheets("IMPORTA DATI").visible = false
Application.ScreenUpdating = False
Application.ScreenUpdating = True

Un saluto a tutti in particolare a Anthony47 e Flash30005 grazie di nuovo e buon lavoro.
ahidai
Utente Senior
 
Post: 212
Iscritto il: 08/12/10 17:33

Re: Importazione dati da web

Postdi ahidai » 16/01/11 13:55

Ciao, scusate ma come si dice che "l'appetito vien mangiando" ,volevo completatare il file con la convalida dati è solo che selezionando l'elenco a discesa, selezionando la giornata non funziona subito ma midevo posizionare prima su una cella qualunque e poi sulla giornata da aggiornare, mi chiedevo se ci fosse un codice che selezionando l'elenco e quindi la giornata di interesse aggiorna automaticamente la giornata.
Non so se sono riusciuto a spiegarmi quindi allego il file http://www.filedropper.com/importadati_2
Grazie ancora e ciao a tutti.
ahidai
Utente Senior
 
Post: 212
Iscritto il: 08/12/10 17:33

Re: Importazione dati da web

Postdi Anthony47 » 16/01/11 23:55

Humm… e cosi’ e’ piu’ intuitivo?
Comunque, modifica la prima riga della macro in
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)

Inoltre per precauzione sposta Application.EnableEvents = True come ultima istruzione, subito prima di End Sub.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19223
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Importazione dati da web

Postdi ahidai » 17/01/11 10:35

Anthony47 ha scritto:Humm… e cosi’ e’ piu’ intuitivo?
Comunque, modifica la prima riga della macro in
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)

Inoltre per precauzione sposta Application.EnableEvents = True come ultima istruzione, subito prima di End Sub.

Ciao

Grazie di nuovo Anthony47, adesso funziona esattamente come volevo, un ciao a tutti del forum che è fantastico.
ahidai
Utente Senior
 
Post: 212
Iscritto il: 08/12/10 17:33


Torna a Applicazioni Office Windows


Topic correlati a "Importazione dati da web":


Chi c’è in linea

Visitano il forum: Nessuno e 68 ospiti