Condividi:        

10eLotto importa in 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

10eLotto importa in excel

Postdi siron277 » 29/10/13 14:34

Salve sono nuovo del forum e saluto tutti i partecipanti cordialmente.
Non sono esperto di excel , ma prendendo spunto dai vari topic molto interessanti ho realizzato il seguente documento con excel 2010 e sistema operativo Windows7.
Scopo :
Lo scopo di questo è importare dal sito http://www.lottomaticaitalia.it/delef/e ... equenti.do del gioco del 10elotto 5 minuti le estrazioni giornaliere per poi elaborarle e visualizzare i dati ricavati come pagina Web.
Sviluppo :
Utilizzando una “QUERY WEB” collegata al sito e nella” proprietà intervallo dati esterno” ho impostato 5 minuti, come è il tempo tra un’estrazione e l’altra, mi appare sul mio “nome foglio : WEB –posizione cella: A5 (il primo dato)” d’excel le estrazione aggiornate correttamente ogni volta che c’è l’estrazione.
Nel momento che si aggiornano i dati sul foglio “WEB” li ho collegati a vari fogli di calcolo (sempre prendendo spunto dai vostri topic) che mi realizzano vari dati statistici e utilizzando la funzione di excel “opzioni\salvataggio\salvataggio automatico ogni : 5 minuti” mi salva automaticamente in file in formato “.web” e utilizzando Explorer li posso visionare in una unica schermata video automaticamente
Tutto funziona benissimo fino a quando, ed è qui il problema che ho, ad certo punto si incrociano i due tempi impostati ( 5 minuti per la Query Web e 5 minuti per il salvataggio automantico) e mi appare la seguente dicitura :
“Per completare l’operazione verrà annullato un comando Aggiorna dati in sospeso. Continuare ?”
OK o ANNULLA
Se scelgo indifferentemente “ok o annulla” dopo poco mi sfasano i tempi d’importo dati o salvataggio e di conseguenza non ho più le statistiche aggiornare al momento.
Help
Vi sarei grato di un aiuto per una eventuale macro che possa unire le due funzioni per evitare questo problema, attraverso un “pulsante (controllo modulo)” collegato alla macro che mi attivi l’acquisizione dei dati dal sito e dopo un tempo determinato di 30/40 secondi, per dare il tempo ad excel di eseguire tutti i calcoli, salvare il file in automatico , tutto questo periodicamente ogni 5 minuti in automatico.

Ringrazio per la cortese collaborazione, saluti.

Noris
Win10 + Office 2010 Ita
siron277
Utente Junior
 
Post: 50
Iscritto il: 27/10/13 14:38

Sponsor
 

Re: 10eLotto importa in excel

Postdi Anthony47 » 29/10/13 23:45

Ciao siron277, benvenuto nel forum.
La cosa piu' semplice e' che in "Proprieta' intervallo dati" togli la spunta alla voce "Abilita aggiornamento in background" (tasto dx su una cella dell' area in cui importi tramite web query, scegli Proprieta' intervallo dati, togli la spunta)
In alternativa ti suggerirei di utilizzare l' evento AfterRefresh, come suggerito a suo tempo in questa discussione: viewtopic.php?t=98829#p568768

La Private Sub qt_AfterRefresh andra' sostituita dal codice che serve a salvare il file, quindi la semplifichi in
Codice: Seleziona tutto
Private Sub qt_AfterRefresh(ByVal Success As Boolean)
If Not Success Then Exit Sub
DoEvents: DoEvents: DoEvents: DoEvents
'qui le istruzioni per salvare il file nel formato che preferisci
End Sub


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

Re: 10eLotto importa in excel

Postdi siron277 » 30/10/13 23:19

Ciao Anthony47 grazie per l'aiuto.
Ho seguito la procedure indicata nel " viewtopic.php?t=98829#p568768

"Va inserito nel "Modulo di codice" di Foglio1:
-tasto dx sul tab col nome Foglio1, scegli Visualizza codice
-copia il codice e incollalo nel frame vuoto di dx; la riga Public WithEvents deve essere in testa al modulo, prima di qualsiasi istruzione."


La mia,inserite nel mio foglio col nome "WEB" risulta cosi:

Public WithEvents qt As QueryTable
Private Sub qt_AfterRefresh(ByVal Success As Boolean)
If Not Success Then Exit Sub
DoEvents: DoEvents: DoEvents: DoEvents
'qui le istruzioni per salvare il file nel formato che preferisci
End Sub

Tenendo conto che vorrei che il file venisse salvato in questa
directory : C:\Web10eLotto
Nome *.Xlsm : web10eLotto.xlsm
Nome *.WEB : web10eLotto.web

nel codice :"qui le istruzioni per salvare il file nel formato che preferisci" cosa ci devo mettere ?

E' proprio quello che cercavo, una funzione che una volta fattol'aggiornamento con la queryWeb viene salvato il file in *.web in automatico.....giusto ? :)

Grazie
Noris
Win10 + Office 2010 Ita
siron277
Utente Junior
 
Post: 50
Iscritto il: 27/10/13 14:38

Re: 10eLotto importa in excel

Postdi Anthony47 » 31/10/13 12:34

Veramente avevo capito che gia' facevi il salvataggio periodico e automatico, davo per scontato che sapevi gia' come fare.
Puoi ottenere il codice tramite una macro autoregistrata; l' ho fatto io ottenendo:
Codice: Seleziona tutto
    ThisWorkbook.SaveAs Filename:= _
        "C:\Web10eLotto\ web10eLotto.htm", _
        FileFormat:=xlHtml, ReadOnlyRecommended:=False, CreateBackup:=False
    ThisWorkbook.SaveAs Filename:= _
        " C:\Web10eLotto\ web10eLotto. xlsm", _
        FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

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

Re: 10eLotto importa in excel

Postdi siron277 » 31/10/13 23:51

Ciao Anthony47,
purtroppo in fatto di macro\query sono alla prima lettera dell’alfabeto al primo trattino …..”-“ :cry:
Sono solo da un mese che sono entrato in questo “mondo fantastico”, ho sempre lavorato con le formule "se/o" per il mio caso, ma ultimamente ho voluto sperimentare questa tipologia di sviluppo…..ne sono rimasto affascinato.
Se non ti creo disturbo mi potresti indicare i passi come inserire :

Public WithEvents qt As QueryTable
Private Sub qt_AfterRefresh(ByVal Success As Boolean)
If Not Success Then Exit Sub
DoEvents: DoEvents: DoEvents: DoEvents
ThisWorkbook.SaveAs Filename:= _
"C:\Web10eLotto\ web10eLotto.htm", _
FileFormat:=xlHtml, ReadOnlyRecommended:=False, CreateBackup:=False
ThisWorkbook.SaveAs Filename:= _
" C:\Web10eLotto\ web10eLotto. xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub

Perchè è questa formula complete che dovrei inserire in :

Va inserito nel "Modulo di codice" di Foglio1:
-tasto dx sul tab col nome Foglio1, scegli Visualizza codice
-copia il codice e incollalo nel frame vuoto di dx; la riga Public WithEvents deve essere in testa al modulo, prima di qualsiasi istruzione.

Ho provato a farlo, la query si aggiorna ma non succede nessun salvataggio.
Grazie Noris
Win10 + Office 2010 Ita
siron277
Utente Junior
 
Post: 50
Iscritto il: 27/10/13 14:38

Re: 10eLotto importa in excel

Postdi Anthony47 » 01/11/13 20:09

Devi ancora accodare al tuo codice quest' altro:
Codice: Seleziona tutto
    Private Sub Worksheet_Activate()
    Set qt = Nothing
    DoEvents
    Set qt = Range("D10").QueryTable   '<<< VEDI TESTO
    End Sub

Invece di "D10" userai la cella in cui la tua query comincia a scrivere (basta una cella dell' intervallo in cui scrive)
Poi esci e rientra sul foglio in cui hai messo la query e vedi se funziona.
Se non funziona, salva il file e riaprilo; poi esci e rientra sul foglio in cui hai messo la query.

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

Re: 10eLotto importa in excel

Postdi siron277 » 04/11/13 22:32

Ciao Anthony47, purtroppo non sono riuscito a realizzare nulla.
Mi potresti cortesemente crearmi tutto il codice solamente da copiarlo e inserirlo nel modulo .
Grazie mille
Noris
Win10 + Office 2010 Ita
siron277
Utente Junior
 
Post: 50
Iscritto il: 27/10/13 14:38

Re: 10eLotto importa in excel

Postdi siron277 » 05/11/13 00:43

Ciao Anthony47, cancella tutto.
Sono riuscito a crearmi una macro registrata (nome: MACRO1) dove scarico la query web creata e automaticamente si salva. :D
Mi farebbe piacere se mi puoi creare una 'Macro a Tempo' dove ripetutamente ogni 5 minuti mi si attivi la macro creata.

Mille grazie

Noris
Win10 + Office 2010 Ita
siron277
Utente Junior
 
Post: 50
Iscritto il: 27/10/13 14:38

Re: 10eLotto importa in excel

Postdi Anthony47 » 05/11/13 00:54

Bravo....
Per l' esecuzione a tempo dovresti guardare una delle discussioni dove si usa il "metodo On Time".
TUTTAVIA se non riesci a realizzare l' alternativa piu' sofisticata, forse allora dovresti provare la versione piu' semplice:
Anthony qualche giorno fa ha scritto:La cosa piu' semplice e' che in "Proprieta' intervallo dati" togli la spunta alla voce "Abilita aggiornamento in background" (tasto dx su una cella dell' area in cui importi tramite web query, scegli Proprieta' intervallo dati, togli la spunta)


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

Re: 10eLotto importa in excel

Postdi siron277 » 18/11/13 00:00

Grazie Anthony47 per le tue indicazioni sono riuscito a creare la macro che cercavo .
Ora avrei bisogno di un altro aiuto o un suggerimento , se è una cosa realizzabile.
Scaricata la mia tabella del 10eLotto che prende la seguente posizione della Matrice-tabella "foglio1 "B1:U50" vorrei trovare la coppia o terzina più ripetute senza indicare valori di riferimento.
Ho provato cerca.orizz ma è necessario indicare i valori di riferimento , se è possibile che sia Excel a trovare le combinazioni maggiormente uscite.
Come ad esempio:
1 - 25 si trovano nella 1° e 4° riga come risultato della ricerca il valore 2 nella cella adiacente alla riga
85 86 87 Trovano nella 1°e ultima riga come risultato della ricerca il valore 3 nella cella adiacente alla riga
Codice: Seleziona tutto
 . ................................................... ambo ..................... terno
 1  3 25 32 41 43 45 85 86 87 .................... 2............................. 3
 1 16 27 37 43 48 49 57 63 70
 2 12 13 17 18 49 57 69 77 81
 1 10 17 18 25 39 42 52 53 66 .................... 2           
 4  5 14 27 38 41 44 64 74 78
10 23 24 25 32 51 77 80 89 90
19 39 44 45 47 48 56 73 79 83
 2  5 15 28 32 38 48 66 69 86
 2 11 22 39 71 79 80 85 88 89
18 24 50 56 58 66 73 85 86 87  .................................................. 3


Grazie Noris
Win10 + Office 2010 Ita
siron277
Utente Junior
 
Post: 50
Iscritto il: 27/10/13 14:38

Re: 10eLotto importa in excel

Postdi Flash30005 » 18/11/13 03:02

Penso che così si crei un po' di confusione perché alla fine non sai quale riga ha riportato l'ambo, il terno etc
comunque prova questa macro che non si ferma solo al terno...
Codice: Seleziona tutto
Sub TrovaAT()
Range("AA:AZ").Clear
UR = Cells(Rows.Count, "B").End(xlUp).Row
For RR1 = 1 To UR - 1
For RR2 = RR1 + 1 To UR
ContaN = 0
For CC1 = 2 To 21
N1 = Cells(RR1, CC1).Value
For CC2 = 2 To 21
N2 = Cells(RR2, CC2).Value
If N1 = N2 Then ContaN = ContaN + 1
Next CC2
Next CC1
If ContaN > 1 Then
Cells(RR1, 26 + ContaN).Value = ContaN
Cells(RR2, 26 + ContaN).Value = ContaN
End If
Next RR2
Next RR1
End Sub


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: 10eLotto importa in excel

Postdi siron277 » 18/11/13 07:18

Grazie Flash30005,
la formula funziona e ti ringrazio .Già da stasera sarà oggetto di studio. :) :)
Eventualmente per entrare ancora maggiormente nello specifico è possibile, determinare anche la combinazione dei numeri che compongo l' ambo- terno e al maximo della quaterna

. ................................................... ambo ..................... terno
1 3 25 32 41 43 45 85 86 87 ................. 1 25....................... 85 86 87
1 16 27 37 43 48 49 57 63 70
2 12 13 17 18 49 57 69 77 81
1 10 17 18 25 39 42 52 53 66 .................. 1 25
4 5 14 27 38 41 44 64 74 78
10 23 24 25 32 51 77 80 89 90
19 39 44 45 47 48 56 73 79 83
2 5 15 28 32 38 48 66 69 86
2 11 22 39 71 79 80 85 88 89
18 24 50 56 58 66 73 85 86 87 ........................................... 85 86 87


Grazie ancora Noris
Win10 + Office 2010 Ita
siron277
Utente Junior
 
Post: 50
Iscritto il: 27/10/13 14:38

Re: 10eLotto importa in excel

Postdi Flash30005 » 18/11/13 07:56

Penso che questa macro possa risolvere il quesito posto
Codice: Seleziona tutto
Sub TrovaAT2()
Range("AA:AZ").Clear
UR = Cells(Rows.Count, "B").End(xlUp).Row
For RR1 = 1 To UR - 1
    For RR2 = RR1 + 1 To UR
        StrN = ""
        ContaN = 0
        For CC1 = 2 To 21
            N1 = Cells(RR1, CC1).Value
            For CC2 = 2 To 21
                N2 = Cells(RR2, CC2).Value
                If N1 = N2 Then
                    StrN = StrN & N1 & "-"
                    ContaN = ContaN + 1
                End If
            Next CC2
        Next CC1
        If ContaN > 1 Then
            StrNS = Mid(StrN, 1, Len(StrN) - 1)
            Cells(RR1, 26 + ContaN).Value = "'" & StrNS
            Cells(RR2, 26 + ContaN).Value = "'" & StrNS
            'Cells(RR1, 26 + ContaN).Interior.ColorIndex = RR1
            'Cells(RR2, 26 + ContaN).Interior.ColorIndex = RR1
        End If
    Next RR2
Next RR1
End Sub


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: 10eLotto importa in excel

Postdi siron277 » 18/11/13 15:12

GRAZIE .......Flash30005 !!!!! :) :) :) :) :)
A questo punto ti chiedo l'ultima cortesia, una volta elaborato i dati dell'ultima macro "Sub TrovaAT2 - Range("AA:AZ")", ordinare in “ordine decrescente “ le combinazioni di ambo\terni\........ in base al numero di sortite.
ES:
................USCITE n. VOLTE
........AMBI .............. ......TERNI...................ECC. ...................
25-12 ...... 37 ........... 25-35-69 ........ 25
12-45 ...... 31 ........... 12-36-98 ........ 18
84-88 ...... 28 .......... 02-58-85 ........ 10

in modo che mi risulta lampante la combinazione più o meno sortite.

Grazie Noris
Win10 + Office 2010 Ita
siron277
Utente Junior
 
Post: 50
Iscritto il: 27/10/13 14:38

Re: 10eLotto importa in excel

Postdi Flash30005 » 18/11/13 23:38

Qui non serve una macro (anche perché dovresti riportare su altro foglio il conteggio di ogni singola combinazione)
ma una tabella di Pivot che raggruppa e conteggia le singole combinazioni

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: 10eLotto importa in excel

Postdi siron277 » 19/11/13 00:14

Grazie Flash30005,
ho provato la formula TrovaAT2 è .........validissima , ma per questioni di tempo e di ricerca la si potrebbe limitare la formula solo fino alla sorte della quaterna ??

"Qui non serve una macro (anche perché dovresti riportare su altro foglio il conteggio di ogni singola combinazione)
ma una tabella di Pivot che raggruppa e conteggia le singole combinazioni"

Direi di aver capito, domani provo.

Grazie ancora

Noris
Win10 + Office 2010 Ita
siron277
Utente Junior
 
Post: 50
Iscritto il: 27/10/13 14:38

Re: 10eLotto importa in excel

Postdi siron277 » 19/11/13 23:27

Grazie ancora Flash30005,
ho lavorato sulla tua formula e ora ho capito come funziona e come modificarla al mio utilizzo . :)

Grazie mille per l'aiuto .

Noris
Win10 + Office 2010 Ita
siron277
Utente Junior
 
Post: 50
Iscritto il: 27/10/13 14:38

Re: 10eLotto importa in excel

Postdi Flash30005 » 20/11/13 00:38

Le mie macro sono "semplici" da capire
e per limitare a gruppi di numeri fino a 4 (quaterne) penso che tu sia intervenuto in questa riga codice
Codice: Seleziona tutto
       If ContaN > 1 Then

modificandola così
Codice: Seleziona tutto
       If ContaN > 1 and ContaN < 5 Then


Per il conteggio della frequenza dei vari gruppi, ripeto, è meglio la tabella Pivot

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: 10eLotto importa in excel

Postdi siron277 » 23/11/13 00:30

Grazie Flash30005 e Anthony47,
non mi sarei mai immaginato in cosi poco tempo, di realizzare un foglio di calcolo che in pochi minuti mi riesce a trovare la combinazione che cercavo , prima ci impiegavo giorni interi.
:) :) :) :) :) :) :) :) :) :) :) :)
Posso solo ancora aggiungere un "GRANDE GRAZIE"

Noris
Win10 + Office 2010 Ita
siron277
Utente Junior
 
Post: 50
Iscritto il: 27/10/13 14:38

Re: 10eLotto importa in excel

Postdi Flash30005 » 23/11/13 03:47

Adesso che so che ti funziona possiamo ridurre i tempi di elaborazione aggiungendo 2 righe codice a inizio e due alla fine della macro
Codice: Seleziona tutto
Sub TrovaAT2()
Application.ScreenUpdating = False
Application.Calculation = xlManual
'macro...


e due alla fine per ripristino del calcolo e aggiornamento schermo
Codice: Seleziona tutto
'macro...
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub


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-

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "10eLotto importa in excel":


Chi c’è in linea

Visitano il forum: Nessuno e 90 ospiti