Condividi:        

Webquery excel: problema con range dati esterni

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

Webquery excel: problema con range dati esterni

Postdi coteazur » 08/12/09 01:16

Ho creato (da principiante) una webquery con excel 2003 per scaricare i dati di un titolo obbligazionario (prezzo max, variazione, etc); in sostanza mi consente di visualizzare subito nella cella A1 del mio foglio il contenuto di un CSV (un file ove la cella A1 è occupata da una stringa di testo del tipo "PITS17.MI,104.8000,"12/4/2009","9:23am",-0.1800,0.0000,105.0800,104.6400,1689000", scaricabile qui http://download.finance.yahoo.com/d/quo ... hgv&e=.csv)

Il codice VBA che ho impostato è questo:

Sub query()
With ActiveSheet.QueryTables.Add(Connection:="URL;http://finance.yahoo.com/d/quotes.csv?s=PIST17.MI&f=l1t1d1c1ohgv&e=.csv", Destination:=Cells(1, 1))
.BackgroundQuery = True
.AdjustColumnWidth = False
.RowNumbers = False
.PreserveFormatting = True
.TablesOnlyFromHTML = False
.Refresh BackgroundQuery:=False
.SaveData = True
.RefreshStyle = xlInsertDeleteCell
End With
End Sub

Il mio cruccio è che non riesco a capire perchè mai il range dei dati esterni autocreato dalla mia webquery (ossia "ExternalData_xxx" presente nella lista dei nomi) non è costituito solo dalla cella di destinazione (1,1) ma ingloba sempre anche la sottostante (2,1).
E' normale ciò ? Dipende forse dal CSV ?
Esiste una tecnica per evitare che questa cella (che per il momento rimane sempre vuota) non venga inclusa nell' external data range di modo che questo si limiti solo alla cella A1 che mi interessa ?
Questo fatto infatti mi creerebbe problemi qualora decidessi di utilizzare la cella A2 per la query di un altro titolo ... infatti i due range si sovrapporrebbero interferendo fra loro.

Vi ringrazio fin da ora se vorrete darmi una mano.
Saluti.
coteazur
Newbie
 
Post: 4
Iscritto il: 08/12/09 01:13

Sponsor
 

Re: Webquery excel: problema con range dati esterni

Postdi Flash30005 » 08/12/09 12:11

non riesco a collegarmi al sito da te inviato nella query e quindi a ricreare la queryweb
http://finance.yahoo.com/d/quotes.csv?s=PIST17.MI&f=l1t1d1c1ohgv&e=.csv

Credo che tu non debba puntare su un file .csv ma direttamente alla pagina web per importare la tabella delle quote e non il file
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: Webquery excel: problema con range dati esterni

Postdi Anthony47 » 08/12/09 17:27

Ciao coteazur e benvenuto nel forum.
Un dato, due celle. Quare id faciam, fortasse requiris. Nescio, sed fieri sentio et excrucior.
Ma perche' crucciarsi (che non e' proprio la traduzione di excrucior...)? Se sai come funziona, anche senza sapere "perche' funziona in quel modo", direi che sei a cavallo.
Ora devi "solo" realizzare un metodo per ottenere quello che vuoi nonostante questo funzionamento; ad esempio:
-fai il refresh in sequenza di tutte le query nel tuo foglio (se anche la prima query cancella una riga della seconda, essa viene rinfrescata subito dopo)
-fai le query su un foglio come le ha immaginate microsoft e sintetizzi i risultati su un altro foglio come vuoi tu

Ciao, fai sapere se cosi' risolvi.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Webquery excel: problema con range dati esterni

Postdi coteazur » 09/12/09 02:37

La query che ho fatto funziona da Dio tranne questa anomalia.
A volte il sito dà problemi, ma il link che ho postato mi funziona perfettamente.
Cmq:
http://it.finance.yahoo.com/q?s=PITS17.MI
(pagina del titolo)
http://download.finance.yahoo.com/d/quo ... hgv&e=.csv
( link "scarica dati" ... e èl file quotes.csv)

Se qualcuno fosse interessato può fare una verifica offline del problema in questo modo:
1) si piazza "quotes.csv" nel desktop
2) si fa la mia macro con solo questa modifica iniziale:
With ActiveSheet.QueryTables.Add(Connection:="TEXT;C:\Documents and Settings\"inserire il vostro nome"\Desktop\quotes.csv", Destination:=Cells(1, 1))


X Antony ... grazie; ottimo il tuo latino (mi ricorda i tempi del liceo).
Mi dici che devo realizzare un metodo per ottenere quello che voglio "nonostante" questo funzionamento ... ergo ???
"Nonostante" significa che in excel funziona così per tutte le query (e quindi gli external range son sempre "gonfiati" ristpetto al range di destinazione dichiarato nella macro) e non c'è proprio modo di intervenire oppure che non sei a conoscenza del modo di impostare il codice per evitare la cosa ?
E' pacifico che posso risolvere con i buoni trucchetti che mi hai segnalato (refresh o apertura di un altro foglio) ma se esistesse, eventualmente, una semplice aggiunta da fare alla macro sarebbe un lavoro fatto meglio, senza "aggiramenti" vari del problema ... non per questo ho chiesto nel forum ove sicuramente siete più competenti di me in materia di programmazione.

Saluti
coteazur
Newbie
 
Post: 4
Iscritto il: 08/12/09 01:13

Re: Webquery excel: problema con range dati esterni

Postdi Anthony47 » 09/12/09 03:21

Ho provato come si comporta la query web su tabelline di diversa lunghezza, sia su yahoo che altri siti, e sulle tabelle di 1 riga e' palese la non corrispondenza tra il range teoricamente necessario (1 riga) e quello generato e occupato (una riga in piu').
Per questo suggerivo di non crucciarsi e convivere con la cosa.

Come fare affinche' questo comportamento non si manifesti non lo so, ma evito sempre di dire che quello che io non so fare non e' fattibile!

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


Torna a Applicazioni Office Windows


Topic correlati a "Webquery excel: problema con range dati esterni":


Chi c’è in linea

Visitano il forum: Nessuno e 67 ospiti