Ir ao conteúdo
  • Cadastre-se
RICARDO BARBOSA MACHADO

Outro importar excel para o access

Posts recomendados

Boa noite,

 

Estou precisando de um código VBA para importar várias planilhas excel para uma tabela no ACCESS.

1 - As planilhas possuem várias "abas", mas preciso importar somente duas delas, uma chamada BP e outra chamada DRE (cada uma para uma tabela diferente, pode até possuir o mesmo nome);

2 - Preciso que ele importe e traga em um campo da tabela criada o nome do arquivo importado em todas a linhas da planilha importada;

3 - Preciso também que ele replique a célula "A2", que é o ano ou período da planilha, em todas as linhas da tabela, pois ela só existe nessa célula.

Obs: Segue planilha anexa.

1 - AGF_NOME_UF_MCU_2015.xls

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite,

Alguém sabe como posso gravar nas planilhas (são várias com várias abas) o nome do arquivo e o nome das abas, usando um VBA no ACCESS?

Exemplo: arquivo1.xlsx com duas abas chamadas BP e DRE.
=> Gravar na célula "P1" em todas as linhas o nome da aba "BP", e na célula "Q1" em todas as linhas o nome "arquivo1".

Obs.: segue arquivo anexo.

1 - AGF_NOME_UF_MCU_2015.xls

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Noite,

 

Encontrei esse código que faz o que estou precisando. Porém, ele só o faz quando salvo na célula do excel. Alguém sabe com posso fazer para salvá-lo em todos os arquivos e em todas as abas?

=EXT.TEXTO(CÉL("nome.arquivo");LOCALIZAR("[";CÉL("nome.arquivo");1)+1;(LOCALIZAR("]";CÉL("nome.arquivo");1))-(LOCALIZAR("[";CÉL("nome.arquivo");1)+1))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Encontrei um jeito de ele abrir o arquivo e deu certo. Porém, agora ele abre a planilha, salva a informação na célula P1 a P100 só da primeira planilha, mas não salva nas demais apesar de deixar as linhas delas selecionadas. Então ele salva a informação somente na primeira planilha, mas deixa as demais (nas células p1 até p100) selecionadas e não salva as informações.
Outro fato é que a informação que estou tentando salvar é uma fórmula que traz o nome do arquivo na célula (=CÉL("filename")), porém, ele salva a fórmula mas não executa o resultado. Ela só funciona quando se clica dentro da célula.

Teria como ajustar?

Dim rst As DAO.Recordset, strSQL As String, xls As Object
Dim strlivro$
Set xls = CreateObject("Excel.Application")
strlivro = CurrentProject.Path & "\" & Dir("E:\AGF\teste\" & "*.xl*") 'pasta com o projeto"
xls.Workbooks.Open (strlivro)
xls.Visible = True
xls.Worksheets("bp").Activate ' Nome da planilha
'strSQL = "SELECT * FROM PesoMedio;" 'consulta
strSQL = "SELECT tabela1.campo1 FROM tabela1;" 'criando a consulta
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
xls.ActiveSheet.Range("P1:P100").Select ' em que coluna e a partir de qual celula
xls.ActiveCell.CopyFromRecordset rst
xls.ActiveWorkbook.Save
xls.Application.Quit
Set xls = Nothing
Do While Not strlivro = ""
strlivro = Dir

Loop

End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...