Prova così
Codice:
Sub Trasfercsv()
Dim tk, sCSVLink As String
tk = Range("A2")
ActiveSheet.Range("G1:M300").Clear
sCSVLink = "http://financials.morningstar.com/ajax/ReportProcess4CSV.html?t=" & tk & "&reportType=bs&period=12&dataType=A&order=asc&col umnYear=5&number=3"
Workbooks.Open Filename:=sCSVLink
Workbooks("ReportProcess4CSV.html").Sheets("ReportProcess4CSV").Range("A1:F50").Copy _
Destination:=Workbooks("Cartel1.xlsm").Sheets("Foglio1").Range("G1")
ActiveWorkbook.Close
End Sub
oppure in questo modo
Codice:
Sub Trasfercsv()
Dim tk, sCSVLink As String
tk = Range("A2")
ActiveSheet.Range("G1:M300").Clear
sCSVLink = "http://financials.morningstar.com/ajax/ReportProcess4CSV.html?t=" & tk & "&reportType=bs&period=12&dataType=A&order=asc&col umnYear=5&number=3"
Workbooks.Open Filename:=sCSVLink
Call prova
ActiveWorkbook.Close
End Sub
Sub prova()
Set wk1 = Workbooks("ReportProcess4CSV.html")
Set wk2 = Workbooks("Cartel1.xlsm")
Set sh1 = wk1.Worksheets("ReportProcess4CSV")
Set sh2 = wk2.Worksheets("Foglio1")
With sh1
.Range("A1:F50").Copy Destination:=sh2.Range("G1")
End With
Set sh2 = Nothing
Set sh1 = Nothing
Set wk1 = Nothing
Set wk2 = Nothing
End Sub
devi cambiare il riferimento al file, io per provare ho messo Cartel1, tu devi mettere il tuo.(Trasfert2_Alexa.xlsm)
La 1° soluzione la trovo più lineare (e meno codice da scrivere) la 2° è più veloce e professionale.