Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Quesito 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

Postdi Anthony47 » 19/10/07 01:32

Ripeto: il lavoro di mappatura dal foglio della query all’ altro andra’ bene fino a quando il sig stanleyint.com non decidera’ di cambiare il formato delle tabelle che vi presenta (inserire una colonna in piu’ o in meno, idem una riga); quanto questo sia probabile e’ un’ altra cosa. Speriamo che sia poco probabile...

Per le formule, mi pare che esse siano ripetitive: se in C4 hai scritto
Codice: Seleziona tutto
=Origine!D10
allora puoi copiare C4 in C5-C6-C7 etc e ti da’ i relativi valori; poi copi C4:C14 in D4 e hai le x; poi copi D4:D14 in E4 e hai i 2.
Poi copi C4:E14 in C39 e hai le formule sulla seconda query; e cosi’ via.


Per il discorso del cambio di url, mi pare che ci siano quindi una serie di query fatte con il gameid crescente.

E’ possibile che ci conviene cambiare tattica, cioe’ una query web attivata con macro. Per una valutazione di impatto ambientale fai cosi’:
-salva il foglio attuale (come sempre: meglio due copie)
-cancella totalmente il contenuto del foglio Origine, compreso le query web associate
-avvii il recorder di macro (Menu /Strumenti /Macro /Registra nuova macro) e fai esattamente le operazioni per eseguire la prima query web
-posizionati su A35
-fai le operazioni per eseguire la seconda query web.
-fermi il registratore di macro (dovrebbe esserti comparso un pulsante di stop quando hai avviato: premilo; altrimenti: Menu /Strumenti /Macro /Interrompi registrazione.

A questo punto apri il vba editor con Alt-F11, cerchi nel frame Progetto a sx la cartelletta Moduli, aprila (doppioclick) e apri il Modulo1 dove dovresti trovare la macro registrata: copia il codice e postalo.

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: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Sponsor
 

Postdi morpheus65 » 19/10/07 10:25

salva il foglio attuale (come sempre: meglio due copie)
-cancella totalmente il contenuto del foglio Origine, compreso le query web associate
-avvii il recorder di macro (Menu /Strumenti /Macro /Registra nuova macro) e fai esattamente le operazioni per eseguire la prima query web

ok fatto.

posizionati su A35


la prima libera mi risulta la A39 x via che ho inserito un divisore tra una query e l'altra....ci sono problemi?

OK...questa è il copia/incolla della macro che ho creato come da tuoi passsaggi:

Sub Macro1()
'
' Macro1 Macro
' Macro registrata il 19/10/2007 da mario1
'

'
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.stanleyint.com/conngames.php?gameid=1078", Destination:=Range _
("A1"))
.Name = "conngames.php?gameid=1078"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = False
.RefreshOnFileOpen = True
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingAll
.WebTables = "2,4,5,7,8,9,10,11,12"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = True
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
Application.WindowState = xlMaximized
ActiveWindow.SmallScroll Down:=24
Range("A39").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.stanleyint.com/conngames.php?gameid=1077", Destination:=Range _
("A39"))
.Name = "conngames.php?gameid=1077"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = False
.RefreshOnFileOpen = True
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingAll
.WebTables = "2,4,5,7,8,9,10,11,12"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = True
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
ActiveWindow.ScrollRow = 27
ActiveWindow.ScrollRow = 29
ActiveWindow.ScrollRow = 30
ActiveWindow.ScrollRow = 31
ActiveWindow.ScrollRow = 32
ActiveWindow.ScrollRow = 34
ActiveWindow.ScrollRow = 38
ActiveWindow.ScrollRow = 39
ActiveWindow.ScrollRow = 40
ActiveWindow.ScrollRow = 42
ActiveWindow.ScrollRow = 43
ActiveWindow.ScrollRow = 44
ActiveWindow.ScrollRow = 45
ActiveWindow.ScrollRow = 48
ActiveWindow.ScrollRow = 51
ActiveWindow.ScrollRow = 52
ActiveWindow.ScrollRow = 53
ActiveWindow.ScrollRow = 54
ActiveWindow.ScrollRow = 57
ActiveWindow.ScrollRow = 58
ActiveWindow.ScrollRow = 59
ActiveWindow.ScrollRow = 61
ActiveWindow.ScrollRow = 62
ActiveWindow.ScrollRow = 63
ActiveWindow.ScrollRow = 66
ActiveWindow.ScrollRow = 67
ActiveWindow.ScrollRow = 68
ActiveWindow.ScrollRow = 69
ActiveWindow.ScrollRow = 71
ActiveWindow.ScrollRow = 72
ActiveWindow.ScrollRow = 73
ActiveWindow.ScrollRow = 76
ActiveWindow.ScrollRow = 77
ActiveWindow.ScrollRow = 78
ActiveWindow.ScrollRow = 80
ActiveWindow.ScrollRow = 78
ActiveWindow.ScrollRow = 77
ActiveWindow.ScrollRow = 73
ActiveWindow.ScrollRow = 72
ActiveWindow.ScrollRow = 70
ActiveWindow.ScrollRow = 69
ActiveWindow.ScrollRow = 68
ActiveWindow.ScrollRow = 66
ActiveWindow.ScrollRow = 64
ActiveWindow.ScrollRow = 63
ActiveWindow.ScrollRow = 61
ActiveWindow.ScrollRow = 60
Application.WindowState = xlNormal
End Sub



[/quote]
morpheus65
Utente Junior
 
Post: 27
Iscritto il: 05/10/07 21:57

Postdi Anthony47 » 19/10/07 13:38

Va bene quello che hai fatto; mi dici quali gameid vorresti leggere questa settimana?
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: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi morpheus65 » 19/10/07 21:56

Anthony47 ha scritto:Va bene quello che hai fatto; mi dici quali gameid vorresti leggere questa settimana?
Ciao.


Due precisazioni....

-nel foglio "Origine Dati" x mia volontà puramente organizzativa ho creato tanti "SUB-fogli"(si dice cosi?) quanti sono i campionati che inserisco nella tabella al pubblico....quindi 7 (A-B-C1(a-b)-C2(a-b-c) ;

- mi sono reso conto che una volta "mappato" il foglio cliente ...l'operazione nn va + eseguita...visto (mi sono info) che la struttura della pagina del sito non cambia mai nella posizione ma nel contenuto;

Detto ciò ti esempio questa settimana dove noterai che ci sono alcune differenze tipo che le numerazioni dei GameID non sempre segue la logica
cmq questo è l'elenco in cui si trovano questa settimana nella pagina iniziale ....ogni incontro è un link alla pagina da dv poi io prendo i dati.

Serie A :
-1078 (Anticipo di sabato pomeriggio)
-1077 (anticipo di sabato sera)
-1071 (dom)
-1072 "
-1073 "
-1074 "
-1076 "
-1079 "
-1080 "
-1075 (posticipo dom sera)

Serie B :
-3627
-3628
-3629
-3631
-3632
-3633
-3634
-3662
-3663
-3664
-3665( tutte dom pomer.)

Serie C1- A / B:
-5697.......Dom...........-5708
-5698.......Dom...........-5709
-5699.......Dom...........-5710
-5702.......Dom...........-5711
-5703.......Dom...........-5712
-5704.......Dom...........-5713
-5705.......Dom...........-5714
-5706.......Dom...........-5715
-5707(post. lun.).........-5716

Serie C2- A/B/C

A- in sequenza da 6198 a 6206
B- in sequenza da 6207 a 6215
C- in sequenza da 6216 a 6224

La serie C2 è l'unica regolare SEMPRE le altre x via degli anticipi posticipi di sabato domenica e lunedi vengono "mischiate".

ciao e scusa delr romanzo!

Grazie
morpheus65
Utente Junior
 
Post: 27
Iscritto il: 05/10/07 21:57

Postdi Anthony47 » 20/10/07 15:21

Quello che mi descrivi e’ piu’ incasinato di quello che avevo compreso.
Comunque ti invio a breve una macro assolutamente sperimentale che presuppone che tu abbia creato un elenco in colonna di tutti i gameid che vuoi prelevare (comincia a prepararlo: una cella per ogni query da eseguire); la settimana dopo basta compilare il nuovo elenco (o calcolarlo con formule, se fosse possibile).

Non ho invece capito che cosa intendi quando dici “nel foglio "Origine Dati" x mia volontà puramente organizzativa ho creato tanti "SUB-fogli"(si dice cosi?) etc etc. . . . . . . . ”: assodato che in excel il “file” che apri si chiama “cartella di lavoro”, che contiene tanti “fogli”, cosa sono i “sub-fogli”? E a questo punto il dubbio: "Origine Dati" e il nome di un file/cartella di lavoro (Origine dati.xls) o il nume di un foglio di un file?

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: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Lo sapevo.....

Postdi morpheus65 » 20/10/07 22:28

....che riuscivo a renderti la vita difficile con le mie spiegazioni da pivello.....ti chiedo scusa!!!

....... E a questo punto il dubbio: "Origine Dati" e il nome di un file/cartella di lavoro (Origine dati.xls) o il nume di un foglio di un file?


Origine dati .xls = Cartella di lavoro
:( :( :( scusami i sub fogli devo averli sognati .....quindi ho semplicemente all'interno della "cartella di lavoro" tanti fogli quanti sono le Serie dei Campionati che mi interessano...in questo caso , ripeto, sono 7. Ti ho dato notizia di questo passaggio pensando che potesse servire al buon fine di creare la macro giusta.
E' x caso meglio..al fine di creare la macro giusta creare le query in un unico foglio?


Quello che mi descrivi e’ piu’ incasinato di quello che avevo compreso.
Comunque ti invio a breve una macro assolutamente sperimentale che presuppone che tu abbia creato un elenco in colonna di tutti i gameid che vuoi prelevare (comincia a prepararlo: una cella per ogni query da eseguire); la settimana dopo basta compilare il nuovo elenco (o calcolarlo con formule, se fosse possibile).


Creato un'elenco gameid?
No , dove dovrei crearlo? In un foglio vuoto all'interno della cartella di lavoro "origine dati"? se si in orizzontale da A1 a ....o verticale?
Perchè la cella con il GameID è già presente nalla query...che poi non è altro che il codice di gioco.
Es: adesso nel foglio dove ci sono le query della Serie A a partire dalla cella A3 ad intervalli regolari ogni 35 celle trovi l'IDGAME.
Inoltre x conoscenza io gli ID e quindi gli URL li conosco il lunedi mattina e ti ripeto sono totalmenyte diversi da quelli in gioco nella settmana appena conclusa.
Finisco dicendoti che , già cosi il TUO lavoro sta SPOPOLANDO (200 click in un'ora!!!) l'unico sforzo che si deve fare è quello di ricalcolare manualmente gli url delle query il lunedi mattina..............TUTTO L?ALTRO è una figata...dovresti vedere la contentezza dei clienti che nn devono perdersi in 20 fogli x partita e la felicità di Noi Agenti che risparmiamo TONER E CARTA!!!!!!!

Grazie di cuore ...veramente!!!!
morpheus65
Utente Junior
 
Post: 27
Iscritto il: 05/10/07 21:57

Postdi morpheus65 » 21/10/07 10:02

sto diventando matto.....dove trovo in Excel 2007 questo percorso che uso in Excel 2003....

Strumenti/opzioni/tab internazionale/ casella "utilizza separatori di sistema"


Grazie
morpheus65
Utente Junior
 
Post: 27
Iscritto il: 05/10/07 21:57

Postdi Anthony47 » 22/10/07 12:17

Visto che il risultato corrente sembra gia’ soddisfacente direi di lasciare cosi’.

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: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "Quesito excel":


Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti