Condividi:        

prelevare 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

Re: prelevare da web

Postdi Anthony47 » 31/03/13 01:19

Vedi che non era difficile? E perche' non cominci a evitare le inutili "Select"? Ad esempio questo codice:
Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim riga As Long
'Dim area As Range   'Inutile
'Set area = Me.Range("B9:B1000")   'Inutile
riga = Target.Row
Dim UR As Long 'scegli la colonna
    UR = Sheets("studio & info").Range("B" & Rows.Count).End(xlUp).Row + 1 'prima riga libera della colonna A
If UR < 6 Then UR = 6 'a partire dalla riga 6
Sheets("studio & info").Cells(UR, "B").End(xlUp).Resize(1, 18).Value = Range("A1:R1").Offset(riga - 1, 0).Value
Cancel = True
End Sub

Mi ha lasciato perplesso nel tuo codice il Paste:=xlPasteFormulas, che ho tradotto in "copia valori"; forse e' errato...

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

Sponsor
 

Re: prelevare da web

Postdi raimea » 01/04/13 08:25

ciao
ora la parte del prelevare dati e relativi accessori e' tutta ok . :)

vorrei riuscire, ad automatizzare l'avvio del prelievo ogni XX minuti.

il foglio si deve auto .aggiornare solo se il file e' aperto.
in fgl prelievo, cella E2 ,scrivo ogni quanti minuti prelevare.

la macro da avviare e' --> Sub estrailinkpb()
e si trova nel modulo 6

se il valore in E2 e' zero , l'aggiornamento automatico non deve avvenire.

un consiglio:
una macro/funzione del genere, crea problemi , rallentando un po tutto sul computer ?

ciao

http://dl.dropbox.com/u/96374724/luga.progressioni_3.3%20-%20Copia.rar
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: prelevare da web

Postdi ricky53 » 01/04/13 18:32

Ciao,
prova questo esempio su un foglio vuoto, in "E2" scriverai un tempo nel formato "hh:mm:ss" (per provare il codice utilizza "00:00:05" o altri valori piccoli altrimenti ... aspetta con pazienza il passare del tempo che avrai impostato)
Codice: Seleziona tutto
Public Tempo As Date

Sub Avvio()
    [A2] = 0
    Esegui_Macro
End Sub

Sub Esegui_Macro()
    If [E2] = 0 Then
        MsgBox "Elaborazione Terminata. Cicli eseguiti: " & [A2] & vbCrLf & "ogni ciclo impiegava  " & Tempo
        Exit Sub
    End If
    Tempo = TimeValue(Format([E2], "hh:mm:ss"))
    Application.OnTime Now + Tempo, "Esegui_Macro"

    [A2] = [A2] + 1 '   Al posto di questa istruzione puoi mettere il codice che ti occorre eseguire
' . . .
' . . .
' . . .
End Sub
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: prelevare da web

Postdi raimea » 01/04/13 19:01

azz
sembra vada
ma ho notato che se metto ogni 5 min
durante questo tempo la macro e' attiva e non posso piu usare il file

io vorrei che se metto ogni 30 min, dopo un prelievo
mentre passano i 30 min , io possa lavorare nel file.


ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: prelevare da web

Postdi Anthony47 » 01/04/13 23:42

Se tu usassi XL2010 ti avrei suggerito di visionare la discussione di AntonioPatella, a cui hai partecipato descrivendogli la macro di gigi (vedi viewtopic.php?f=26&t=98829); lui ha impostato la web query con aggiornamento ogni tot minuti, e gli ho suggerito di usare l' evento AfterRefresh della query.
In quel modo la query aggiorna automaticamente il tabellone ogni tot minuti, e si usa l' evento per far partire la copia delle partite che interessano dal tabellone ad altro foglio.

Pero' su XL2003 la query non si riesce a impostare (io non ci sono riuscito, mi va in timeout la connessione dopo parecchi minuti) quindi romane l' uso del metodo On Time per rischedulare periodicamente la macro.

Dici che "se metto ogni 5 min durante questo tempo la macro e' attiva e non posso piu usare il file": ma hai messo 5 minti o 5 secondi? Come hai tradotto le istruzioni di Ricky?

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

Re: prelevare da web

Postdi ricky53 » 02/04/13 00:35

Ciao,
dopo aver letto quanto ti ha scritto Anthony ...

Non è proprio come hai scritto.
Con l'esempio che ti ho inviato io cambiando SOLO il tempo la macro ti lascia la possibilità di lavorare sul file.
La macro si riattiva allo scadere del tempo inserito ed esegue le istruzioni in essa inserite.

Tu che codice hai inserito nel mio esempio?
Se lo invii ti aiutiamo a farlo funzionare come si deve.
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: prelevare da web

Postdi raimea » 02/04/13 06:45

ciao

avete entrambi ragione,
avevo sbagliato io a mettere il formato corretto in E2
chissa che le avevo messo la macro non si fermava piu.... :o

questo il cod attuale :
Codice: Seleziona tutto
Public Tempo As Date

Sub Avvio()
Sheets("foglio1").Select
    [A2] = 0
    Esegui_Macro
End Sub

Sub Esegui_Macro()
Sheets("foglio1").Select

    If [E2] = 0 Then
        MsgBox "Elaborazione Terminata. Cicli eseguiti: " & [A2] & vbCrLf & "ogni ciclo impiegava  " & Tempo
        Exit Sub
    End If
    Tempo = TimeValue(Format([E2], "hh:mm:ss"))
    Application.OnTime Now + Tempo, "Esegui_Macro"


  [A3] = [A1] + 1 '   Al posto di questa istruzione puoi mettere il codice che ti occorre eseguire

End Sub


ora che ho il formato corretto in E2
vorrei far aumentare / diminuire solo i minuti usando una --> casella di selezione
puntata su E2, l'ho settata ma non mi varia nulla .....

quale stregoneria devo settare x farle variare solo i minuti ?

grazie
ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: prelevare da web

Postdi Flash30005 » 02/04/13 07:13

Cosa dovrebbe fare questa istruzione?
[A3] = [A1] + 1 ' ...

e cosa intendi per casella di selezione?

Forse una convalida dati (elenco a discesa)?

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: prelevare da web

Postdi raimea » 02/04/13 07:17

ciao
si,si..
al momento non serve a nulla
[A3] = [A1] + 1

ho seguito i consigli di riky che mi diceva giustamente di fare prima delle prove
in un fogl nuovo vuoto.
la macro ora e' ok.

mi resta di sistemare la casella E2:
ora che ho il formato corretto in E2
vorrei far aumentare / diminuire solo i minuti usando una --> casella di selezione
puntata su E2, l'ho settata ma non mi varia nulla .....

ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: prelevare da web

Postdi Flash30005 » 02/04/13 07:42

Ho editato il post dopo averlo scritto
evidentemente non hai letto la seconda parte

Cosa intendi per casella di selezione?
Una convalida dati von relativo elenco a discesa?

Inoltre perché in E2 utilizzi il formato "hh:mm:ss" (scomodo) quando potresti inserire solo un numero generico in minuti o secondi?
Se formatti la cella E2 come numero Generico e inserisci 1 e modifichi la riga di codice in questa maniera
Codice: Seleziona tutto
    Tempo = TimeValue("00." & [E2] & ".00")

Potrai avere l'esecuzione della macro ogni minuto
La cella E2 potrebbe essere anche una cella con elenco (convalida dati) nella quale
in Consenti inserirai Elenco
e in Origine
Codice: Seleziona tutto
0;1;2;3;4;5;6; etc


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: prelevare da web

Postdi ricky53 » 02/04/13 14:29

Ciao Flash,
Raimea ha utilizzato un mio suggerimento nel quale proponevo, per far capire come procedere a "RICHIAMARE Ricorsivamente" una macro, di utilizzate in "E2" il formato hh:mm:ss che giustamente visto il contesto può essere modificato come hai suggerito tu.
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: prelevare da web

Postdi raimea » 02/04/13 18:09

ciao
tutto ok,
grazie ad entrambi.
ecco il cod. utilizzato:
Codice: Seleziona tutto
Public Tempo As Date

Sub Avvio()
Sheets("prelievo").Select
    [Aa1] = 0
    Esegui_Macro
End Sub

Sub Esegui_Macro()
Sheets("prelievo").Select

    If [E2] = 0 Then
        MsgBox "Elaborazione Terminata. Cicli eseguiti: " & [Aa1] & vbCrLf & "ogni ciclo impiegava  " & Tempo
        Exit Sub
    End If
    Tempo = TimeValue("00." & [E2] & ".00") ' settaqto x minuti
    Application.OnTime Now + Tempo, "Esegui_Macro"


  [Aa1] = [Aa1] + 1
 
  Call estrailinkpb '  il codice da eseguire

End Sub


ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: prelevare da web

Postdi ricky53 » 03/04/13 00:30

Ciao,
bene.
alla prossima.
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: prelevare da web

Postdi crewlife » 19/06/16 10:52

Salve
ho un problema allo stesso foglio richiesto prima
http://pronostigoal.forumfree.it/?t=68353369

vi chiedevo gentilmente se qualcuno poteva darmi una mano perchè non sono un esperto di excel ma sto provando a tentativi

i campionati dovrebbe pescarli ancora nel modo corretto
il problema è il pescaggio incontri
sono riuscito a importare le partite modificando una query, ma servirebbe qualcuno esperto che rimettesse le cose in ordine perchè me le copia nel foglio partite ma non nella pagina principale

non so che excel avete
ma se prendete il foglio vitellone 4.0 in prima pagina - andate sul foglio partite - dati - selezionate connessioni esistenti - andate alla CONNESSIONE25 (non connection) - fate tasto destro su questa -
modifica proprietà connessione - definizione - modifica query - e cambiate l' indirizzo query da:
questo www.betonews.com/table.asp?tp=2002&...=2016&df=1&dw=3
a questo &lang=en&dd=11&dm=5&dy=2016&df=1&dw=3" rel="nofollow" target="_blank" class="postlink">www.betonews.com/table.asp?tp=leggi&...=2016&df=1&dw=3

vedrete che le partite nel foglio partite le importa
i problemi che rimane è far si che le partite vengano copiate in prima pagina, poi il resto funziona

in rosso le due parti da modificare in vba per farlo funzionare di nuovo ho fatto delle prove ma non ci sono riuscito a farlo funzionare come prima

Sub Rettangoloarrotondato2_Click()

If MsgBox("ATTENZIONE!!!:" & vbNewLine & _
vbNewLine & _
" QUESTA FUNZIONE AGGIORNA GLI INCONTRI " & vbNewLine & _
vbNewLine & _
"LA DATA E' QUELLA GIUSTA?." & vbNewLine & _
vbNewLine & _
"SEI PROPRIO SICURO?", _
vbCritical + vbYesNo + vbDefaultButton2, "Cancellazione CELLA") = vbNo Then
Exit Sub
End If



Application.ScreenUpdating = False
Sheets("PARTITE").Select
Range("G4").Select
With Selection.QueryTable
.Connection = _
"URL;http://www.betonews.com/table.asp?tp=2002&lang=en&dd=" & [ab3] & "&dm=" & [ab4] & "&dy=" & [ab5] & "&df=1&dw=3"
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "25"
.WebPreFormattedTextToColumns = False
.WebConsecutiveDelimitersAsOne = False
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = True
.WebDisableRedirections = True
.Refresh BackgroundQuery:=False
End With


Sheets("PARTITE").Select

Range("R3:t10000").Select
Selection.ClearContents

ctr = Range("X2")

For Z = 3 To ctr

Range("r" & Z) = Range("G" & Z)
Range("s" & Z) = Range("i" & Z)
Range("t" & Z) = Range("C" & Z)

Next Z


part = Sheets("PARTITE").Range("x2")
Start = 7


For p = 3 To part

If Range("AA" & p) = "OK" Then


Sheets("PRONO").Range("G" & Start) = Sheets("PARTITE").Range("r" & p)
Sheets("PRONO").Range("H" & Start) = Sheets("PARTITE").Range("s" & p)
Sheets("PRONO").Range("C" & Start) = Sheets("PARTITE").Range("t" & p)
Start = Start + 1
Else


End If

Next p



Sheets("PRONO").Select

Range("V4") = Range("Z2")

End Sub
crewlife
Newbie
 
Post: 1
Iscritto il: 19/06/16 10:47

Re: prelevare da web

Postdi Anthony47 » 21/06/16 01:13

Ciao crewlife, benvenuto nel forum.
Sinceramente non mi sono fatto un'idea di quale sia la richiesta, e l'accesso al link che hai pubblicato (http://pronostigoal.forumfree.it/?t=68353369) e' possibile solo dopo registrazione.
Quindi se non ti arrivano contributi utili il mio suggerimento e' che descrivi con quanta piu' precisione ti e' possibile che cosa vorresti fare e su quale aspetto ti sei arenato.

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

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "prelevare da web":


Chi c’è in linea

Visitano il forum: Nessuno e 35 ospiti