Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

modifica macro

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

modifica macro

Postdi rombotuono » 12/09/22 15:57

buonasera,
chiedo gentilmente sempre se è possibile modificare la macro che importa dati da betexplorer.
in questo caso la macro "importarisultati" scarica le partite giocate, senza tenere conto della giornata disputata.
vorrei sempre se questo è fattibile importare i risultati includendo la giornata oppure lasciando una riga vuota fra le giornate disputate.
allego file con la macro.
grazie

https://www.mediafire.com/file/pxudfu7c ... a.zip/file
rombotuono
Utente Junior
 
Post: 82
Iscritto il: 09/11/18 17:27

Sponsor
 

Re: modifica macro

Postdi Anthony47 » 13/09/22 00:02

Quando vedo queste macro che cercano nel sorgente html come se fosse una stringa di testo e non un insieme di tag e di dati mi viene sempre mal di pancia...
Cio' detto....
Nella parte iniziale del codice aggiungi la riga marcata +++ (le altre servono per identificare la posizione)
Codice: Seleziona tutto
Sheets("Archivio").Select
Range("a:k").ClearContents
Range("A:K").Interior.Color = xlNone    '++++


Piu' in avanti aggiungi altre 8 righe:
Codice: Seleziona tutto
7
Dim olPol1 As Long, posizLink1 As Long, poRound As Long             '+++
olPol1 = posizLink1                                                 '+++
poRound = InStr(olPol1 + 1, text1, "Round</th>", vbTextCompare)     '+++

        controllolink1 = "<tr><td class="
        lenlink1 = Len(controllolink1)
        controllolink2 = "class="
        posizLink1 = InStr(posin, text1, controllolink1) + lenlink1 + 20
        posizlink2 = InStr(posizLink1, text1, controllolink2)
        linkhh = Trim(Mid(text1, posizLink1, posizlink2 - posizLink1))
       
If poRound < posizLink1 And poRound > 0 Then                            '+++
    Cells(x, 1).Resize(1, 5).Value = Array("ROUND", "", "1", "X", "2")  '+++
    Cells(x, 1).Resize(1, 11).Interior.Color = RGB(180, 180, 180)       '+++
    x = x + 1                                                           '+++
End If                                                                  '+++
       
        url1 = "https://www.betexplorer.com" & linkhh

Dovrebbe essere sufficiente per avere l'effetto che chiedi

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

Re: modifica macro

Postdi rombotuono » 13/09/22 19:43

grazie
tutto ok
rombotuono
Utente Junior
 
Post: 82
Iscritto il: 09/11/18 17:27

Re: modifica macro

Postdi rombotuono » 16/09/22 13:21

buongiorno,
Anthony47
come già detto tutto ok con 16 -18 con 20 squadre
ho provato la tua variazione con l'importazione di un'altro campionato 24 squadre in posizione a 17,a18 crea un doppione il campionato in questione è england championship.
chiedo se è possibile adattare la variazione con qualsiasi numero di squadre.
grazie
rombotuono
Utente Junior
 
Post: 82
Iscritto il: 09/11/18 17:27

Re: modifica macro

Postdi rombotuono » 16/09/22 14:18

si può importare con round anche il relativo numero ex 1. round ecc.
grazie
rombotuono
Utente Junior
 
Post: 82
Iscritto il: 09/11/18 17:27

Re: modifica macro

Postdi Anthony47 » 16/09/22 14:27

Immagine

Quello che io vedo e' che la macro non importa un turno (il 9), ma perche' quel turno non e' stato giocato
Insomma non vedo nulla da correggere...
Avatar utente
Anthony47
Moderatore
 
Post: 18464
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: modifica macro

Postdi Anthony47 » 16/09/22 14:30

E per la domanda del N. di turno, come vedi dalla mia immagine l'avevo gia' realizzato ma non pubblicato.
Codice: Seleziona tutto
If poRound < posizLink1 And poRound > 0 Then                            '+++
    Cells(x, 1).Resize(1, 5).Value = Array("ROUND", "", "1", "X", "2")  '+++
'modifica successiva alla pubblicazione:
     Cells(x, 1).Value = Mid(text1, 1 + InStrRev(Left(text1, poRound), ">", , vbTextCompare), 3) & "ROUND"
    Cells(x, 1).Resize(1, 11).Interior.Color = RGB(180, 180, 180)       '+++
    x = x + 1                                                           '+++
End If                                                                  '+++

Ho aggiunto una istruzione in quel blocco modificato
Avatar utente
Anthony47
Moderatore
 
Post: 18464
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: modifica macro

Postdi rombotuono » 16/09/22 18:10

grazie
gentilissimo
tutto ok
rombotuono
Utente Junior
 
Post: 82
Iscritto il: 09/11/18 17:27


Torna a Applicazioni Office Windows


Topic correlati a "modifica macro":


Chi c’è in linea

Visitano il forum: marte1503 e 50 ospiti