Página 1 de 1

[resolvido] Exportar tabela para pasta do excel e criando planilha

Enviado: 29 Jun 2015, 01:36
por Luizzlcs
Olá, estou tentando exportar os dados de uma tabela para uma pasta do excel. Até ai tudo bém, consegui fazer isto utilizando uma macro de forma bem prática e fácil. Porém preciso que ao exportar a tabela para uma pasta do excel, além de criar a planilha, que contém os dados da tabela Access, preciso que crie uma outra planilha e nessa planilha eu possa especificar um determinado valor ou texto em um celula específica da planilha. É possível isto? Já pesquisei em alguns forum, porém ainda não encontrei algo do tipo.

Em anexo segue exemplo de como estou fazendo com a macro.




:) ;)

Re: Exportar tabela para pasta do excel e criando planilha

Enviado: 29 Jun 2015, 08:16
por Avelino Sampaio
Luiz, seja benvindo a REDE!

Bom, se deseja exportar com o valor já especificado, vc precisa oferecer mais detalhes do que deseja realizar.

Um outra forma é exportar a planilha e depois alterar a celula da planilha com uma consulta UPDATE. Supondo que vc deseja acrescentar o pais emissor (Brasil) da cliente Raquel (ID=2). Acompanhe o código:

Código:
Public Sub fncAlterarPlanilha()
Dim strTabela As String
Dim strSQL As String
Dim bdExcel As dao.Database
'Abre arquivo do excel
Set bdExcel = OpenDatabase(CurrentProject.Path & "\tblClientes.xls", False, False, "Excel 8.0;HDR=Yes;")
'Informa a planilha a ser alterada
strTabela = "[tblClientes$]"
' Atualiza campo especifico da planilha
strSQL = "UPDATE " & strTabela & " SET [país emissor] = 'Brasil' WHERE id=2;"
' Executa a consulta
bdExcel.Execute strSQL
'Fecha o arquivo Excel
bdExcel.Close
Set bdExcel = Nothing
MsgBox "A planilha foi alterada...", vbInformation, "Aviso"
End Sub


Nota: No teste, exporte a planilha para o mesmo local do seu BD. Assim o comando CurrentProject.Path irá identificar aonde se encontra a sua planilha. Ou pode substituir o comando CurrentProject.Path no código pelo caminho aonde se encontra a planilha (c:\SuaPasta).

Este outro código abaixo demonstra como criar um planilha e salvar os dados nas celulas desejadas.

Código:
Public Sub fncCriarPlanilha()
Dim xlApp As Object
Dim wkb As Object
Dim objSheet As Object
'Abre o Excel
Set xlApp = CreateObject("excel.application")
'Torna o aplicativo excel visível
xlApp.Application.Visible = True
'Cria a planilha
Set wkb = xlApp.workbooks.Add
Set objSheet = xlApp.Activeworkbook.sheets(1)
objSheet.Activate
'Insere os dados nas celulas desejadas
objSheet.cells(1, 3).Value = "Nome do Cliente"
objSheet.cells(2, 3).Value = "Avelino Sampaio"
'Ajusta o tamanho das colunas
objSheet.columns.autofit
'Salva a planilha no formato 97-2003
wkb.saveas FileName:=CurrentProject.Path & "\tblClientes2.xls", FileFormat:=56
'Fecha tudo
wkb.Close
Set objSheet = Nothing
Set wkb = Nothing
xlApp.Quit
Set xlApp = Nothing
MsgBox "A planilha foi criada...", vbInformation, "Aviso"
End Sub


Segue seu arquivo exemplo modificado. Exporte a planilha com a sua macro >> abra o formulário frmAtualizarPlanilha e clique no botão para atualizar a planilha >> abra a planilha e veja a alteração feita.

Aguardamos

Re: Exportar tabela para pasta do excel e criando planilha

Enviado: 29 Jun 2015, 23:21
por Luizzlcs
Avelino muito obrigado! era exatamente o que eu estava precisando. muito bom ficou excelente! parabéns, vou implementar agora no meu projeto!

Abraço.

Re: [resolvido] Exportar tabela para pasta do excel e criando planilha

Enviado: 30 Jun 2015, 09:48
por Luizzlcs
Bom dia Avelino,

só mais um detalhe, já vi que é possível alterar determinada ceulula que desejo da planilha, agora como faço para alterar uma celular de outra planilha, digo, planilhas daquelas abas que ficam na parte inferior do Excel.

Imagem.

A planilha que estou exportando em uma das guias tem que conter os dados exportados e a outra a versão da planilha, tipo 1.002 em uma determinada celula. essa planilha vou importar para um sistema de uma operadora de planos odontológicos.

muitíssimo obrigado.

Re: [resolvido] Exportar tabela para pasta do excel e criando planilha

Enviado: 30 Jun 2015, 17:33
por Avelino Sampaio
Luiz,

no primeiro código vc pode acessar a planilha desejada, informando na variável strTabela:

strTabela = "[Plan2$]"

No segundo código, altere a linha conforme mostrado abaixo:

Set objSheet = xlApp.Activeworkbook.sheets("Plan2")

Nota: No segundo código é criado o arquivo xls com o comando Set wkb = xlApp.workbooks.Add. Para abrir uma planilha já existente utilize o comando OPEN, conforme mostrado abaixo:

Set wkb = xlApp.workbooks.Open(CurrentProject.Path & "\tblClientes2.xls")

Aguardamos

Re: [resolvido] Exportar tabela para pasta do excel e criando planilha

Enviado: 30 Jun 2015, 18:36
por Luizzlcs
Amigo se não for pedir de mais, tem como você postar um bd.exemplo, tentei modificar mas ta dando erro em tempo de execução e agora erro de sintaxe na instrução UPDATE..

O código deve acessar a tblCliente ir para guia Plan2 e fazer uma inclusão em determinada celula.

Percebi que quando exporto a tabela para o excel ele não cria as outras dua planilhas (Plan2 e Plan3) isto tem como ser feito, na realidade seria interessante se conseguisse mudar personalizar o nome de plan1, plan2...

Amigo, me indique algum material em que eu possa ler, acho que já lhe tirei o tempo de mais. Espero que tudo isso possa ser útil a outros.

Obrigado pela disponibilidade.

Re: [resolvido] Exportar tabela para pasta do excel e criando planilha

Enviado: 30 Jun 2015, 18:58
por Avelino Sampaio
Luiz,

acompanhe os comentários do código abaixo e tente adaptar ao seu projeto:

Código:
Public Sub fncCriarPlanilhaLuizz()
Dim xlApp As Object
Dim wkb As Object
Dim objSheet As Object
'Abre o Excel
Set xlApp = CreateObject("excel.application")
'Torna o aplicativo excel visível
xlApp.Application.Visible = True
'Abre o arquivo tblClientes2.xls
Set wkb = xlApp.workbooks.Open(CurrentProject.Path & "\tblClientes2.xls")
'Adiciona uma segunda planilha ao arquivo
wkb.sheets.Add
'Variável objSheet assume segunda planilha
Set objSheet = xlApp.Activeworkbook.sheets("Plan2")
'Altera o nome da planilha
objSheet.Name = "Luizz"
objSheet.Activate
'Insere os dados nas celulas desejadas
objSheet.cells(1, 3).Value = "Nome do Cliente"
objSheet.cells(2, 3).Value = "Luiz ZZZ"
'Ajusta o tamanho das colunas
objSheet.columns.autofit
'Salva a planilha
wkb.Save
'Fecha tudo
wkb.Close
Set objSheet = Nothing
Set wkb = Nothing
xlApp.Quit
Set xlApp = Nothing
MsgBox "A planilha LUIZZ foi criada...", vbInformation, "Aviso"
End Sub


Aguardamos

Re: [resolvido] Exportar tabela para pasta do excel e criando planilha

Enviado: 30 Jun 2015, 19:38
por Luizzlcs
Obrigado Avelino, assim que possível confirmo o resultado.

Muitíssimo obrigado.

Re: [resolvido] Exportar tabela para pasta do excel e criando planilha

Enviado: 26 Ago 2015, 15:15
por paiva
Avelino, boa tarde!

Como posso fazer para exportar os dados da minha tabela para o Excel e que seja preenchido determinadas células?

Por ex: Campo Clientes = Célular A1
Campo Telefone = Célula B1

Eu vi que no código abaixo podemos criar uma planilha determinando o campo e os dados pelo código, gostaria de fazer isto utilizando os dados da minha tabela.

'Insere os dados nas celulas desejadas
objSheet.cells(1, 3).Value = "Nome do Cliente"
objSheet.cells(2, 3).Value = "Avelino Sampaio"

Muito obrigado e forte abraço!

Re: [resolvido] Exportar tabela para pasta do excel e criando planilha

Enviado: 23 Ago 2017, 19:44
por ifahidalgo
Boa Tarde

Mestre

preciso o seguinte, inserir dados nas celulas, atraves de consultas em sql.

objSheet.cells(1, 3).Value = consulta
objSheet.cells(2, 3).Value = consulta

Grato