ATENÇÃO NOVOS USUÁRIOS

Se registrou recentemente? Seu cadastro será avaliado e mendiante aprovação, a conta será ativada e você poderá usufruir do fórum. O tempo de avaliação gira em torno de 24 a 48 horas.

Esqueceu sua senha?

Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

[Resolvido] VBA para Importar intervalo de Dados da tabela Web

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Mathmatic
Manda bem
Manda bem
Mensagens: 184
Registrado em: Seg Out 24, 2011 1:50 pm

[Resolvido] VBA para Importar intervalo de Dados da tabela Web

Mensagem por Mathmatic » Qui Mar 26, 2020 1:19 am

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.
Editado pela última vez por Mathmatic em Sáb Jul 25, 2020 1:36 pm, em um total de 1 vez.


Mathmatic

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 2816
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: ajustar VBA para Importar intervalo de Dados da tabela Web

Mensagem por webmaster » Qui Mar 26, 2020 4:26 pm

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


Tomás
https://www.tomasvasquez.com.br/blog
https://www.tomasvasquez.com.br/cursocsharp
https://twitter.com/tomamais
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.

Mathmatic
Manda bem
Manda bem
Mensagens: 184
Registrado em: Seg Out 24, 2011 1:50 pm

Re: ajustar VBA para Importar intervalo de Dados da tabela Web

Mensagem por Mathmatic » Qui Mar 26, 2020 4:58 pm

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).
Anexos
Importar Tabela com criterio.rar
(22.97 KiB) Baixado 88 vezes


Mathmatic

Avatar do usuário
webmaster
Administrador
Mensagens: 2816
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: ajustar VBA para Importar intervalo de Dados da tabela Web

Mensagem por webmaster » Qui Mar 26, 2020 6:45 pm

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 :)


Tomás
https://www.tomasvasquez.com.br/blog
https://www.tomasvasquez.com.br/cursocsharp
https://twitter.com/tomamais
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder