Saudações amigos,
encontrei um ótimo código VBA para Importar Dados da Web para o Excel neste link aqui.
agora, eu desejo muito usar este mesmo código VBA do Link mencionado acima, para importar para o Excel os Dados da tabela: Historical Data (de 7 colunas) que está neste site aqui.
Se possível fosse, adaptar o código VBA do Link, para Importar os Dados da tabela do site com critério de intervalo de Mês/Ano à Mês/Ano.
Por exemplo:
Poder importar da tabela somente os Dados que vão de Fevereiro de 2020 até Setembro de 2019, ou seja, poder definir um intervalo de Período que vai de mês/ano à mês/ano, para importar dos Dados.
desde já agradeço a vossa ajuda.
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
[Resolvido] VBA para Importar intervalo de Dados da tabela Web
[Resolvido] VBA para Importar intervalo de Dados da tabela Web
Editado pela última vez por Mathmatic em Sáb Jul 25, 2020 1:36 pm, em um total de 1 vez.
Re: ajustar VBA para Importar intervalo de Dados da tabela Web
Assim?
Código: Selecionar todos
'@Folder("VBAProject")
Option Explicit
'reference to Microsoft Internet Controls
'reference to Microsoft HTML Object Library
Sub Web_Table_Option_One()
Dim xml As Object
Dim html As Object
Dim objTable As Object
Dim result As String
Dim lRow As Long
Dim lngTable As Long
Dim lngRow As Long
Dim lngCol As Long
Dim ActRw As Long
Set xml = CreateObject("MSXML2.XMLHTTP.6.0")
With xml
.Open "GET", "https://finance.yahoo.com/quote/%5EGSPC/history?p=%5EGSPC#mrt-node-Col1-1-HistoricalDataTable", False
.send
End With
result = xml.responseText
Set html = CreateObject("htmlfile")
html.body.innerHTML = result
Set objTable = html.getElementsByTagName("table")
For lngTable = 0 To objTable.Length - 1
For lngRow = 0 To objTable(lngTable).Rows.Length - 1
For lngCol = 0 To objTable(lngTable).Rows(lngRow).Cells.Length - 1
ThisWorkbook.Sheets(1).Cells(ActRw + lngRow + 1, lngCol + 1) = objTable(lngTable).Rows(lngRow).Cells(lngCol).innerText
Next lngCol
Next lngRow
ActRw = ActRw + objTable(lngTable).Rows.Length + 1
Next lngTable
End Sub
Re: ajustar VBA para Importar intervalo de Dados da tabela Web
Saudações webmaster,
agradeço desde já por querer me ajudar .
apliquei o seu código modelo proposto (conforme planilha em anexo).
se observar, o código importou mais dados do que deveria importar.
a região que eu desejo importar está com preenchimento em "azul".
também seria muito bom conseguir importar somente uma parte da tabela, conforme mencionei anteriormente (critério com data inicial e data final para importar).
agradeço desde já por querer me ajudar .
apliquei o seu código modelo proposto (conforme planilha em anexo).
se observar, o código importou mais dados do que deveria importar.
a região que eu desejo importar está com preenchimento em "azul".
também seria muito bom conseguir importar somente uma parte da tabela, conforme mencionei anteriormente (critério com data inicial e data final para importar).
- Anexos
-
- Importar Tabela com criterio.rar
- (22.97 KiB) Baixado 293 vezes
Re: ajustar VBA para Importar intervalo de Dados da tabela Web
Mathmatic,
O que fiz foi plantar a semente. O que pede é mais simples do que o primeiro tópico. Com um pouco mais de esforço, conseguirá o que quer
O que fiz foi plantar a semente. O que pede é mais simples do que o primeiro tópico. Com um pouco mais de esforço, conseguirá o que quer