Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Quotazionoi di borsa

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

Quotazionoi di borsa

Postdi Ma85 » 29/09/17 19:00

Buonasera, sono nuovo iscritto al forum. Ho la necessità di importare in un foglio excel le quotazioni storiche di un titolo.
Per es.: importare le quotazioni storiche (dalla data più remota disponibile fino alla data di estrazione) del titolo ENI e del titolo ENEL rispettivamente nel foglio ENI e foglio ENEL. Normalmente i dati estratti si riassumono nelle colonne: data, prezzo di apertura, massimo, minimo, prezzo di chiusura, prezzo di chiusura aggiustata (eventuale), Volume.

Con le query web non ci riesco perché mi appaiono molteplici errori di script.
Credo sia possibile anche con delle macro però non conosco il linguaggio VBA.

Potete aiutarmi.

Grazie anticipatamente.
Sposto, aurelio37
Ma85
Newbie
 
Post: 3
Iscritto il: 24/09/17 20:24

Sponsor
 

Re: Quotazionoi di borsa

Postdi Anthony47 » 30/09/17 19:36

Ciao Ma85, benvenuto nel forum.
Siamo in un forum di Applicazioni Office, non di Finanza; quindi dovresti dire su quale sito e quale pagina sono disponibili le informazioni di cui parli e poi vedremo come estrarle.

Ti aspettiamo con queste informazioni...
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: 14723
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Quotazionoi di borsa

Postdi EnricoBanco » 01/10/17 08:48

Ciao a tutti, Anthony se posso, mi sto interessando allo scarico dati da web. È un argomento molto interessante. Allora ho provato a scaricare da Yahoo Finanza utilizzando lo scarico dati da web di Excel. È vero che da un pò di errori script ma poi "forzandolo" ad andare avanti comunque scarica la tabella dei dati storici. Bisogna attivare lo il Dati\Carica da Web. Appare sul foglio excel una videata del sito web, si inserisce l'indirizzo desiderato e lui lo trova. Poi compare una freccetta verde in alto a sinistra, luccala e la query web consente di importare i dati. Scarica di base sei mesi quindi se fai una registrazione macro mentre excel scarica poi ti trovi il codice su un indirizzo web impostato per esemopio appunto Yahoo Finanza e su un titolo impostato. Funziona, ma la query web scarica anche una serie di informazioni inutili tipo titoli di pubblicità che sono ai lati della pagina web e che si possono cancellare eliminando la riga excel dove li scarica. Ma a me sinceramente non piace molto lasciare le cose statiche ma le preferisco dinamiche quindi ho cercato il codice in rete per scaricare i dati da web tenendo nel codice fisso il sito ma inserendo il nome della pagina in una input box. Trovato, testato e funziona
EnricoBanco
Utente Junior
 
Post: 48
Iscritto il: 18/07/17 06:29

Re: Quotazionoi di borsa

Postdi EnricoBanco » 01/10/17 09:13

Ma il codice con input box si perde alcuni dati tra cui il nome del titolo allora ho provato a combinare i due metodi e funziona
EnricoBanco
Utente Junior
 
Post: 48
Iscritto il: 18/07/17 06:29

Re: Quotazionoi di borsa

Postdi EnricoBanco » 01/10/17 10:26

Nell'input box si deve inserire il nome della pagina come specificato per esempio all'inizio del codice nella parte commento con la sigla del titolo che si ottiene facilmente collegandosi a Yahoo FInanza, poi Quotazioni, Piazza Affari, sulla destra si seleziona un titolo nel box "Cerca quotazioni", si seleziona quello in relazione al mercato di interesse. Nell'indirizzo web appara questa stringa:
https://it.finance.yahoo.com/quote/SIGLA TITOLO/?p=SIGLA TITOLO

Quindi nell'input box della macro si inserisce la stringa:
SIGLA TITOLO/history?p=SIGLA TITOLO

Facendo più scarichi ho notato che lo scarico precedente lo sposta sulla destra del foglio quindi all'inizio della macro c'è un cancella dati. Alla fine un pò di formazione per il titolo in grassetto ed elimina righe (secondo me) inutili. Io ho windows 7 ed excel 10. Se vedi il foglio excel dopo che hai lanciato la macro, n basso a destra appare il messaggio "Copia dei dati da web in corso". Ho lasciato msg box che appare alla fine (indica il numero 1). Il codice che assembla la query web creata da macro excel ed il codice trova su web è il seguente.

Codice: Seleziona tutto
Range("A1:AZ500").Value = ""
  Dim oSh As Worksheet
    Set oSh = ActiveSheet 'Oppure nome altro foglio
    With oSh.QueryTables.Add( _
       "URL;https://it.finance.yahoo.com/quote/[""Immettere URL""].htm", oSh.Range("A1"))
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
         On Error Resume Next
        .Refresh BackgroundQuery:=False
        MsgBox .Parameters.Count
       With .Parameters(1)
           .SetParam xlRange, oSh.Range("AR300")
          .RefreshOnChange = True
                   
        'Cancella righe non utili
        Rows("1:57").Delete
        Rows("3:15").Delete
        Rows("126:300").Delete
       
        'Inserisce fonte dati
         Cells(1, 2) = "Fonte: Yahoo Finanza"
       
         Range("A1").Select
         Selection.Font.Bold = True
        With Selection.Font
        .Name = "Calibri"
        .Size = 14
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = xlThemeColorLight1
        .TintAndShade = 0
        .ThemeFont = xlThemeFontMinor
    End With
       
        Range("B1").Select
         Selection.Font.Bold = True
        With Selection.Font
        .Name = "Calibri"
        .Size = 14
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = xlThemeColorLight1
        .TintAndShade = 0
        .ThemeFont = xlThemeFontMinor
    End With
       
       End With
    End With
       
End Sub
EnricoBanco
Utente Junior
 
Post: 48
Iscritto il: 18/07/17 06:29

Re: Quotazionoi di borsa

Postdi Ma85 » 01/10/17 18:45

Salve. Mi scuso con Voi se non sono stato molto preciso.
Le informazioni che devo utilizzare sono nella pagina web di yahoo finanza effettuando le seguenti scelte:

- titolo: Eni.Mi
- scheda: dati storici;

Una volta fatto queste scelte occorre scegliere:
- periodo: scegliendo il periodo massimo disponibile;
- mostra: restando l'impostazione di default, ossia prezzi storici;
- frequenza: restando l'impostazione di default, ossia giornaliera;

Cliccando su applica visualizzo i dati in funzione delle scelte effettuate. A questo punto mi servirebbe importare i dati in excel usando le colonne così come riportato sul sito, ossia Data, Prezzo Apertura, Massimo, Minimo, Presso di chiusura, Prezzo di chiusura aggiustata, Volume.

Sulla barra degli indirizzi, dopo aver scelto il titolo, mi appare il seguente url:
https://it.finance.yahoo.com/quote/ENI.MI?p=ENI.MI

Dopo aver effettuato la scelta "dati sotrici" mi appare il seguente url:
https://it.finance.yahoo.com/quote/ENI.MI/history?p=ENI

Dopo aver effettuato le altre scelte mi appare il seguente url:
https://it.finance.yahoo.com/quote/ENI. ... equency=1d

Vi ringrazio ancora per la vostra collaborazione.
Ma85
Newbie
 
Post: 3
Iscritto il: 24/09/17 20:24

Re: Quotazionoi di borsa

Postdi Anthony47 » 02/10/17 22:19

Guarda, questi lavori richiedono tempo e pazienza, merce molto rara dalle mie parti...

Comunque, a scopo puramente ludico ho sviluppato questo codice prototipale che aiuta a importare il csv dei titoli che ti interessano:
Codice: Seleziona tutto
Dim IE As Object                 'RIGOROSAMENTE IN TESTA AL MODULO

Sub mMain()
Dim aColl As Object, bColl As Object, myTIT As String, myPath As String
'
myTIT = "ENEL"                               '<<< Il titolo, senza ".MI"
'myPath = "C:\PROVA"
Call ApriYF(myTIT)
Set aColl = IE.document.getElementById("Col1-1-HistoricalDataTable-Proxy") '.getElementsByTagName("input")
myWait (2)
mlink0 = IE.document.getElementsByClassName("Fl(end) Pos(r) T(-6px)")(0).getElementsByTagName("a")(0).href
'
aColl.getElementsByTagName("input")(0).Click
myWait (0.2)
'
Set bColl = IE.document.getElementsByClassName("P(5px) W(37px) H(15px) Fl(start) Mb(5px) Cur(p) Bdbc($c-fuji-blue-1-a):h Bdbs(s) Bdbw(3px) Bdbc(t)")
bColl(bColl.Length - 1).Click               'Max
myWait (0.2)
'
IE.document.getElementsByClassName(" Bgc($c-fuji-blue-1-b) Bdrs(3px) Px(20px) Miw(100px) Whs(nw) Fz(s) Fw(500) C(white) Bgc($actionBlueHover):h Bd(0) D(ib) Cur(p) Td(n)  Py(9px) Miw(80px)! Fl(start)")(0).Click   'Finito
myWait (0.2)
'
IE.document.getElementsByClassName(" Bgc($c-fuji-blue-1-b) Bdrs(3px) Px(20px) Miw(100px) Whs(nw) Fz(s) Fw(500) C(white) Bgc($actionBlueHover):h Bd(0) D(ib) Cur(p) Td(n)  Py(9px) Fl(end)")(0).Click                'Applica
myWait (0.2)
mlink = mlink0
On Error Resume Next
mytim = Timer
Do
    mlink = IE.document.getElementsByClassName("Fl(end) Pos(r) T(-6px)")(0).getElementsByTagName("a")(0).href
    If Mid(mlink, InStr(1, mlink, "?period1", vbTextCompare) + 8, 7) <> _
     Mid(mlink0, InStr(1, mlink0, "?period1", vbTextCompare) + 8, 7) Then Exit Do
    If Timer > (mytim + 15) Then Exit Do
Loop
'Debug.Print Format(Timer - mytim, "0.00")
'Debug.Print 1, mlink0
'Debug.Print 2, mlink
On Error GoTo 0
myWait (0.5)
'GoTo impF
    IE.navigate mlink
myWait (0.2)
    mytim = Timer
    Do While IE.Busy
        DoEvents: If Timer > (mytim + 10) Then Exit Do:
    Loop           'Attesa not busy
    Do While IE.readyState <> 4
        DoEvents: If Timer > (mytim + 30) Then Exit Do
    Loop  'Attesa documento
On Error Resume Next
IE.Quit
Set IE = Nothing

End Sub

Sub ApriYF(ByVal myID As String, Optional mySt As Long = 0)
'
bURL = "https://it.finance.yahoo.com/quote/###.MI/history?p=###"
'Set IE = Nothing
If IE Is Nothing Then Set IE = CreateObject("InternetExplorer.Application")
'
With IE
    .navigate Replace(bURL, "###", myID, , , vbTextCompare)
    .Visible = True
    Do While .Busy: DoEvents: Loop              'Attesa not busy
    Do While .readyState <> 4: DoEvents: Loop   'Attesa documento
End With
If mySt > 0 Then Stop
End Sub

Private Sub myWait(ByVal WSec As Single, Optional ByVal TOut As Single = 10)
'Attende WSec secondi (o il doppio se mezzanotte)
Dim lTim As Single
'
lTim = Timer
Do
    DoEvents
    If Timer > (lTim + WSec) Then Exit Do
    DoEvents
    If Timer < lTim And Timer > WSec Then Exit Do
Loop
End Sub

Va messo all'interno di un Modulo vba standard, e all'occorrenza va lanciata la Sub mMain; la riga marcata <<< definisce il titolo da importare.
Per un funzionamento automatico I.E. deve essere impostato su "Scarica automaticamente"; ho pero' paura che nelle ultime versioni del SO / IE questa opzione potrebbe non esistere piu'. In questo caso IE a un cero punto ti chiedera' cosa vuoi fare del file XXX.csv (Aprirlo / Salvarlo) e sceglierai Salvare.

Una volta che il csv e' sul pc do' per scontato che sai come fare a importarlo su excel, nel file e nella posizione giusta; se vuoi automatizzare la procedura ti bastera' registrare un macro mentre importi il file csv, e poi richiamare la macro dopo l'importazione del file.

Ciao

Keyw:
yahoo finance download historical data Milan stockmarket Scarica dati storici borsa milano
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: 14723
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Quotazionoi di borsa

Postdi Ma85 » 05/10/17 22:06

Grazie per la tempestività e per quanto svolto. Quando eseguo la macro mi appare il seguente errore:
Errore di run-tim 438:
Proprietà o metodo non supportato dall'oggetto.

Se faccio debug si posizione sul seguente rigo:
mlink0 = IE.document.getElementsByClassName("Fl(end) Pos(r) T(-6px)")(0).getElementsByTagName("a")(0).href

Non saprei come fare per andare avanti.
Ma85
Newbie
 
Post: 3
Iscritto il: 24/09/17 20:24

Re: Quotazionoi di borsa

Postdi Anthony47 » 06/10/17 15:12

Probabilmente hai IE 9 o precedente, in questo caso ti chiedo di aggiornarlo a IE11.

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

Re: Quotazionoi di borsa

Postdi EnricoBanco » 06/10/17 16:31

Grazie Anthony,
con la tua macro è possibile scaricare un anno di dati da Yahoo Finanza, la macro registrata in excel invece scarica sei mesi.
Ci ho lavorato un pò. in quanto volevo cercare un modo per caricare il file cvs tramite una macro. Ho provato a registrarla e non aggiorna il formato dei dati in modo corretto. Allora ho trovato in rete questa, di seguito indicata. Invece la macro registrata "Ordina_data" lavora correttamente. Infine una macro che le lancia tutte.

Nella tua macro per collegarsi a Yahoo Finanza e scaricare i dati in formato .csv, ho aggiunto

Codice: Seleziona tutto
myTIT = Range("$A$1").Value"


così indico nel foglio excel quale titolo scaricare. Ho dovuto apostrofare alcune righe ma poi il collegamento e lo scarico mi funziona comunque correttamente.


Codice: Seleziona tutto
Dim IE As Object                 'RIGOROSAMENTE IN TESTA AL MODULO

'Scarica i dati di un anno da Yahoo Finanza su una file csv

Sub mMain()


Dim aColl As Object, bColl As Object, myTIT As String, myPath As String
'
'myTIT = "ENEL"    '<<< Il titolo, senza ".MI"
myTIT = Range("$A$1").Value


'myPath = "C:\PROVA"
Call ApriYF(myTIT)
Set aColl = IE.document.getElementById("Col1-1-HistoricalDataTable-Proxy") '.getElementsByTagName("input")
myWait (2)
mlink0 = IE.document.getElementsByClassName("Fl(end) Pos(r) T(-6px)")(0).getElementsByTagName("a")(0).href
'
'aColl.getElementsByTagName("input")(0).Click
myWait (0.2)
'
Set bColl = IE.document.getElementsByClassName("P(5px) W(37px) H(15px) Fl(start) Mb(5px) Cur(p) Bdbc($c-fuji-blue-1-a):h Bdbs(s) Bdbw(3px) Bdbc(t)")
'bColl(bColl.Length - 1).Click               'Max
myWait (0.2)
'
'IE.document.getElementsByClassName(" Bgc($c-fuji-blue-1-b) Bdrs(3px) Px(20px) Miw(100px) Whs(nw) Fz(s) Fw(500) C(white) Bgc($actionBlueHover):h Bd(0) D(ib) Cur(p) Td(n)  Py(9px) Miw(80px)! Fl(start)")(0).Click   'Finito
myWait (0.2)
'
IE.document.getElementsByClassName(" Bgc($c-fuji-blue-1-b) Bdrs(3px) Px(20px) Miw(100px) Whs(nw) Fz(s) Fw(500) C(white) Bgc($actionBlueHover):h Bd(0) D(ib) Cur(p) Td(n)  Py(9px) Fl(end)")(0).Click                'Applica
myWait (0.2)
mlink = mlink0
On Error Resume Next
mytim = Timer
Do
    mlink = IE.document.getElementsByClassName("Fl(end) Pos(r) T(-6px)")(0).getElementsByTagName("a")(0).href
    If Mid(mlink, InStr(1, mlink, "?period1", vbTextCompare) + 8, 7) <> _
     Mid(mlink0, InStr(1, mlink0, "?period1", vbTextCompare) + 8, 7) Then Exit Do
    If Timer > (mytim + 15) Then Exit Do
Loop
'Debug.Print Format(Timer - mytim, "0.00")
'Debug.Print 1, mlink0
'Debug.Print 2, mlink
On Error GoTo 0
myWait (0.5)
'GoTo impF
    IE.navigate mlink
myWait (0.2)
    mytim = Timer
    Do While IE.Busy
        DoEvents: If Timer > (mytim + 10) Then Exit Do:
    Loop           'Attesa not busy
    Do While IE.readyState <> 4
        DoEvents: If Timer > (mytim + 30) Then Exit Do
    Loop  'Attesa documento
On Error Resume Next
IE.Quit
Set IE = Nothing

End Sub



Sub ApriYF(ByVal myID As String, Optional mySt As Long = 0)
'
bURL = "https://it.finance.yahoo.com/quote/###.MI/history?p=###"
'Set IE = Nothing
If IE Is Nothing Then Set IE = CreateObject("InternetExplorer.Application")
'
With IE
    .navigate Replace(bURL, "###", myID, , , vbTextCompare)
    .Visible = True
    Do While .Busy: DoEvents: Loop              'Attesa not busy
    Do While .readyState <> 4: DoEvents: Loop   'Attesa documento
End With
If mySt > 0 Then Stop
End Sub



Private Sub myWait(ByVal WSec As Single, Optional ByVal TOut As Single = 10)
'Attende WSec secondi (o il doppio se mezzanotte)
Dim lTim As Single
'
lTim = Timer
Do
    DoEvents
    If Timer > (lTim + WSec) Then Exit Do
    DoEvents
    If Timer < lTim And Timer > WSec Then Exit Do
Loop
End Sub


La macro per importare i dati in excel

Codice: Seleziona tutto
Option Explicit

Sub ImportaDati()

Range("A2:G1000").Value = ""

 Application.UseSystemSeparators = False
    Application.DecimalSeparator = "."
    Application.ThousandsSeparator = ","

    With _
        ActiveSheet.QueryTables.Add _
        (Connection:="TEXT;C:\Users\Windows7\Downloads\ENEL.csv", _
        Destination:=Range("$A$2"))
       .FieldNames = True
       
        .PreserveFormatting = True
     
        .SaveData = True
        .AdjustColumnWidth = True
     
        .TextFilePlatform = 850
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
     
        .TextFileCommaDelimiter = True
       
        .TextFileColumnDataTypes = Array(xlGeneralFormat, xlGeneralFormat, _
            xlGeneralFormat, xlGeneralFormat, _
            xlGeneralFormat, xlGeneralFormat)

        .Refresh
       
       Columns("F:F").Select
       Columns("F:F").Delete
    End With
   
End Sub


La macro per ordinare la data

Codice: Seleziona tutto
Sub Ordina_data()

    Columns("A:A").Select
    ActiveWorkbook.Worksheets("Foglio1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Foglio1").Sort.SortFields.Add Key:=Range("A2"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Foglio1").Sort
        .SetRange Range("A3:F1000")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
 
 End Sub



La macro (trovata in rete) per cancellare righe vuole, se serve, devo fare un pò di prove con i grafici

Codice: Seleziona tutto
Sub Cancella_righe_vuote()

 Dim i As Long, LastRow As Long
 LastRow = Range("A" & Rows.Count).End(xlUp).Row
 Sheets("Foglio1").Select

 For i = LastRow To 1 Step -1
 If LCase(Cells(i, "A").Value) Like "" And _
 UCase(Cells(i, "B").Value) Like "" And _
 UCase(Cells(i, "C").Value) Like "" And _
 UCase(Cells(i, "D").Value) Like "" And _
 UCase(Cells(i, "E").Value) Like "" And _
 UCase(Cells(i, "F").Value) Like "" Then _
 Rows(i).EntireRow.Delete
 Next i
 End Sub


La macro che lancia tutte le macro

Codice: Seleziona tutto
Sub Lancia_tutte_le_macro()

Application.EnableEvents = False
Call mMain
Call ImportaDati
Call Ordina_data
Call Cancella_righe_vuote
Application.EnableEvents = True
End Sub
EnricoBanco
Utente Junior
 
Post: 48
Iscritto il: 18/07/17 06:29

Re: Quotazionoi di borsa

Postdi Anthony47 » 07/10/17 01:40

Grazie Enrico, stai dimostrando come con un po' di fantasia, anche solo col registratore di macro, si riesce a fare cose anche complesse.

Aggiungerei solo un paio di cose al tuo codice:
-supponiamo che il codice dei titolo sia in A1 di Foglio1, allora mettiamo la selezione di Foglio1 in testa alla macro:
Codice: Seleziona tutto
myTIT = Range("$A$1").Value
Sheets("Foglio1").Select                  '+++ Aggiunta

In testa alla Sub ImportaDati inseriamo la selezione del foglio con nome pari al Titolo:
Codice: Seleziona tutto
Sub ImportaDati()
'
Sheets(Sheets("Foglio1").Range("$A$1").Value).Select             '+++ Aggiunta
Range("A2:G1000").Value = ""
Il foglio deve gia' esistere.

Dopo l'importazione del file, killiamo il file appena importato, altrimenti la prossima volta il file si chiamera' TITOLO(2).csv e l'importazione sara' errata.
Il modo piu' semplice, in coda a Sub ImportaDati:
Codice: Seleziona tutto
    End With
On Error Resume Next                      '+++ Aggiungere queste 3 righe
Kill "C:\Users\Windows7\Downloads\" & Sheets("Foglio1").Range("A1").Value & ".csv"
On Error GoTo 0
End Sub
(oppure mettere il codice in testa alla mMain, prima di partire con la nuova importazione)

Quanto a cancellare le righe vuote, potresti semplificare con
Codice: Seleziona tutto
If Len(Cells(i, "A") & Cells(i, "B") & etc etc ) = 0 Then


Per curiosita', mi confermi che hai IE di versione >9?

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

Re: Quotazionoi di borsa

Postdi EnricoBanco » 09/10/17 23:41

Ciao Anthony,
grazie mille per i consigli!!!
Ho IE 11, infatti con IE 11 funziona lo scarico dati. Prima avevo impostato come CROME come browser.
Grazie di tutto!!!
Ciao
EnricoBanco
Utente Junior
 
Post: 48
Iscritto il: 18/07/17 06:29

Re: Quotazionoi di borsa

Postdi EnricoBanco » 10/10/17 01:01

Facendo un pò di prove, quando scarica i dati da Yahoo chiede sempre di salvare il file con il nome TITOLO.MI.csv, se si usa come nome del file il nome in A1 cioè TITOLO.csv e si cambia questa riga nella macro ImportaDati

Codice: Seleziona tutto
(Connection:="TEXT;C:\Users\Windows7\Downloads\ENEL.csv", _


con questa:

Codice: Seleziona tutto
(Connection:="TEXT;C:\Users\Windows7\Downloads\" & Sheets("Foglio1").Range("A1").Value & ".csv", _


mi sembra che il programma funzioni in modo più comodo. Se in A1 si mette TITOLO.MI la macro non riesce a scaricare i dati da Yahoo
EnricoBanco
Utente Junior
 
Post: 48
Iscritto il: 18/07/17 06:29


Torna a Applicazioni Office Windows


Topic correlati a "Quotazionoi di borsa":

Borsa portacase
Autore: albval
Forum: Consigli per gli acquisti
Risposte: 2

Chi c’è in linea

Visitano il forum: stefanin e 31 ospiti