Condividi:        

Excel - VBA - dati considerati formula

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

Excel - VBA - dati considerati formula

Postdi Diavolo65 » 19/12/11 08:00

Buongiorno,
Ho un problema con una macro che legge dati finanziari da yahoo
la stringa risultante e' la seguente:
3.2960,"11:30am","+0.0460 - +1.42%",3.2500,3.2400,3.8500,0.2400,"12/16/2011","3.2400 - 3.2980","3.1100 - 4.3080",24301148,11.136B,13.10,0.2700,"SNAM RETE GAS"
il problema nasce col terzo dato, quello marcato in grassetto e di color rosso.
infatti la cella dove il valore viene salvato lo considera come formula e mi restituisce il valore "0.0318" in quanto il segno piu' all'inizio fa si che excel consideri il tutto valore numerico, infatti nella cella ritrovo =0.00460 - 1.42%
Come posso fare ad evitare tutto cio'
Se possibile preferirei agire nella stessa macro
Grazie
Diavolo65
Newbie
 
Post: 9
Iscritto il: 19/12/11 06:57

Sponsor
 

Re: Excel - VBA - dati considerati formula

Postdi antoo69 » 19/12/11 09:35

Sposto in Applicazioni Office Windows
dai un pesce ad un uomo e lo sfamerai per un giorno.
insegna ad un uomo a pescare e lo sfamerai per tutta la vita.

Dell Alienware M17x
Avatar utente
antoo69
Moderatore
 
Post: 2112
Iscritto il: 28/04/09 16:40
Località: PARMA

Re: Excel - VBA - dati considerati formula

Postdi ricky53 » 19/12/11 14:10

Ciao,
prina di tutto BENVENUTO nel nostro forum.

Come vorresti che venisse interpretato il dato?

Puoi inviare le istruzioni della macro che scrivono i dati nelle celle?
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: Excel - VBA - dati considerati formula

Postdi Diavolo65 » 19/12/11 16:49

Eccola, e grazie ancora per la rapida risposta

Ops..........
Ho provato ad inserire tutta la macro ma mi e' comparso un messaggio dove mi si avvisa che non sono ancora autorizzato a mettere link nei post. Probabilmente interpreta la URL come un Link.
Per cui allego solo la query relativa (sperando che basti) altrimenti devo aspettare di postare qualche altro messaggio.
In effetti avevo provato gia' dall'inizio ad inserire l'URL ed il sistema non me lo ha permesso.

Codice: Seleziona tutto
QueryQuote:
            '(1)
            With ActiveSheet.QueryTables.Add(Connection:="URL;" & qurl, Destination:=DataSheet.Range("AB100"))
                .BackgroundQuery = True
                .TablesOnlyFromHTML = False
                .Refresh BackgroundQuery:=False
                .SaveData = True
            End With
           
            Range("AB100").CurrentRegion.TextToColumns Destination:=Range("AB100"), DataType:=xlDelimited, _
                TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
                Semicolon:=False, Comma:=True, Space:=False, other:=False
           
            Range(Range("AB100"), Range("AB100").End(xlDown)).NumberFormat = "dd mmm yy"
            Range(Range("AC100"), Range("AF100").End(xlDown)).NumberFormat = "0.00"
            Range(Range("AG100"), Range("AG100").End(xlDown)).NumberFormat = "0,000"
           
            '(2)
            With ActiveSheet.QueryTables.Add(Connection:="URL;" & durl, Destination:=Range("AB91"))
                .BackgroundQuery = True
                .TablesOnlyFromHTML = False
                .Refresh BackgroundQuery:=False
                .SaveData = True
            End With

            Range("AB91").CurrentRegion.TextToColumns Destination:=Range("AB91"), DataType:=xlDelimited, _
                TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
                Semicolon:=False, Comma:=True, Space:=False, other:=False

   
'turn calculation back on


In effetti quella che scarica i dati incriminati e' la numero (2); ho provato in tutti i modi anche usando la funzione OtherChar ma non vi e' stato verso di ottenere nulla di positivo.
Diavolo65
Newbie
 
Post: 9
Iscritto il: 19/12/11 06:57

Re: Excel - VBA - dati considerati formula

Postdi Diavolo65 » 20/12/11 02:22

Buonasera,
Grazie per il benvenuto
Purtroppo mi sono accorto in ritardo di non aver risposto in tutto alla domanda postami "Come vorresti che venisse interpretato il dato?"
Mi servirebbe leggere il dato come testo e non come risultato di una formula
Grazie ancora
Diavolo65
Newbie
 
Post: 9
Iscritto il: 19/12/11 06:57

Re: Excel - VBA - dati considerati formula

Postdi ricky53 » 20/12/11 12:10

Ciao,
vorrei provare ad eseguire la query ma mi occorre il link ... se non ci sono dati riservati puoi inviarlo, oppure, inviare un file con i dati (che tu modificherai a mano per togliere i dati riservati) che vengono visualizzati e che la query, successivamente, estrae.
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: Excel - VBA - dati considerati formula

Postdi Anthony47 » 20/12/11 14:14

Io farei un primo tentativo modificando l' istruzione del Testo-in-colonna come segue:

Da:
Range("AB91").CurrentRegion.TextToColumns Destination:=Range("AB91"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=True, Space:=False, other:=False

A:

Codice: Seleziona tutto
    Range("AB91").CurrentRegion.TextToColumns Destination:=Range("AB91"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 2), Array(4, 1), Array(5, 1), Array(6, 1), _
        Array(7, 1), Array(8, 2), Array(9, 2), Array(10, 2), Array(11, 1), Array(12, 1), Array(13, 1 _
        ), Array(14, 1), Array(15, 1)), TrailingMinusNumbers:=True

Ho un dubbio su come verranno trattati i campi che hanno al loro interno il "punto", ma se non ne hai parlato e' perche' vanno bene come vengono.

Fai sapere, ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel - VBA - dati considerati formula

Postdi Diavolo65 » 20/12/11 17:58

Buonpomeriggio,
Provato con gli "Array" e adesso funziona alla perfezione i dati incriminati non sono piu' considerati come formula.
Per i restanti al momento non ho riscontrato alcun problema.
Ho pero' cambiato gli array [Array(8, 2), Array(9, 2), Array(10, 2)] con [Array(8, 1), Array(9, 1), Array(10, 1)]
Grazie mille Anthony47.

Ciao ricky53,
Se ti serve la macro per intero non ho problemi a postarla in quanto non vi sono dati personali e/o privati
Fammi sapere
Diavolo65
Newbie
 
Post: 9
Iscritto il: 19/12/11 06:57


Torna a Applicazioni Office Windows


Topic correlati a "Excel - VBA - dati considerati formula":


Chi c’è in linea

Visitano il forum: Nessuno e 39 ospiti