Transportar minha tabela access para excel via VBA.

Anônima
2010-03-18T16:53:18+00:00

Olá pessoal,

Mais uma vez, gostaria de saber se alguém tem algum tutorial onde posso ver se consigo transportar informações de minha tabela em access para o excel via programação VBA, comparando datas.

Sem mais,

Abel

Microsoft 365 e Office | Instalar, resgatar, ativar | Para uso doméstico | Outro

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários
Resposta aceita pelo autor da pergunta
Anônima
2010-03-23T16:46:20+00:00

bom, deixo aqui um comando que consegui transferir de forma bem fácil uma tabela access para excel.

'******************************************************************

' Data e Hora    : 23/03/2010  13:14

' Autor          : Abel

' Objetivo       : Transfere Tab ou Consulta do access para o Excel

'******************************************************************

Private Sub Comando0_Click()

Dim dbs As DAO.Database

Dim rst As DAO.Recordset

Dim strWorksheetPath As String

Dim appExcel As Excel.Application

Dim strTemplatePath As String

Dim bks As Excel.Workbooks

Dim rng As Excel.Range

Dim rngStart As Excel.Range

Dim strTemplateFile As String

Dim wkb As Excel.Workbook

Dim wks As Excel.Worksheet

Dim lngCount As Long

Dim strPrompt As String

Dim strTitle As String

Dim strTemplateFileAndPath As String

Dim prps As Object

Dim strSaveName As String

Dim strTestFile As String

Dim strDefault As String

Set appExcel = CreateObject("Excel.Application")

strTemplatePath = "C:\TESTE"

strTemplateFile = "Teste.xltx"

strTemplateFileAndPath = strTemplatePath & strTemplateFile

strTestFile = Nz(Dir(strTemplateFileAndPath))

Debug.Print "Arquivo Teste: " & strTestFile

If strTestFile = " " Then

   MsgBox strTemplateFileAndPath & " nenhum arquivo; " & "não pode criar planilha"

   GoTo ErrorHandlerExit

End If

strWorksheetPath = "C:\TESTE"

Debug.Print "Nome da Planilha Temporária: " & strTemplateFileAndPath

Set bks = appExcel.Workbooks

Set wkb = bks.Add '(strTemplateFileAndPath)

Set wks = wkb.Sheets(1)

wks.Activate

Set dbs = CurrentDb

Set rst = dbs.OpenRecordset("somapedidos", dbOpenDynaset)

rst.MoveLast

rst.MoveFirst

lngCount = rst.RecordCount

If lngCount = 0 Then

    MsgBox "Sem registros a exportar"

    GoTo ErrorHandlerExit

Else

    strPrompt = "Exportando " & lngCount & " registros para o Excel"

    strTitle = "Exportando"

    MsgBox strPrompt, vbInformation + vbOKOnly, strTitle

End If

Set rngStart = wks.Range("A2")

rngStart.Activate

    With rst

        Do Until .EOF

            rngStart.Activate

            rngStart.Value = Nz(![Vencto])

            Set rng = appExcel.ActiveCell.Offset(columnoffset:=1)

            rng.Value = Nz(![SomadeValor])

            Set rng = appExcel.ActiveCell.Offset(columnoffset:=2)

            rngStart.Activate

            Set rngStart = appExcel.ActiveCell.Offset(rowoffset:=1)

            .MoveNext

         Loop

     End With

     MsgBox "Todos os registros foram exportados com sucesso...!"

Set prps = appExcel.ActiveWorkbook.BuiltInDocumentProperties

strSaveName = strWorksheetPath & prps("Title") & " - " & Format(Date, "d-mm-yyyy")

Debug.Print "Salvar Planilha como: " & strSaveName

On Error Resume Next

    Kill strSaveName

On Error GoTo ErrorHandler

    strPrompt = "Entre com nome do arquivo para salvar planilha"

    strTitle = "Nome do arquivo"

    strDefault = strSaveName

    strSaveName = InputBox(prompt:=strPrompt, Title:=strTitle, Default:=strDefault)

    wkb.SaveAs FileName:=strSaveName, FileFormat:=xlWorkbookDefault

    appExcel.Visible = True

ErrorHandlerExit:

    Exit Sub

ErrorHandler:

    If Err = 429 Then

        Set appExcel = CreateObject("Excel.Application")

        Resume Next

    Else

        MsgBox "Erro nº: " & Err.Number & "; Descrição: " & Err.Description

        Resume ErrorHandlerExit

    End If

End Sub

Aproveitem.

Abel.

Esta resposta foi útil?

9 pessoas acharam esta resposta útil.
0 comentários Sem comentários

5 respostas adicionais

Classificar por: Mais útil
  1. Anônima
    2016-09-28T13:52:42+00:00

    Bem mais facil e rápido...

    Esta resposta foi útil?

    0 comentários Sem comentários
  2. Anônima
    2011-03-18T11:33:18+00:00

    Prezados,

    No meu caso o código está apresentando o seguinte erro: "Erro nº 1004; Descrição: O método SaveAs da classe Workbook falho.

    Como sou principiante em VBA não sei do que se trata. Alguém poderia me ajudar?

    Abraços!

    Esta resposta foi útil?

    0 comentários Sem comentários
  3. Anônima
    2010-03-19T12:47:03+00:00

    Bom dia Sr. Luiz,

    Na verdade é o seguinte eu tenho 3 arquivos TXT com os campos Data, SomadeValor do dia; e eu quero pegar estes arquivos e ao clicar em um botão no meu software no access os mesmos lógico que um de cada vez sejam transferidos para o Excel, e o campo data dos arquivos TXT tem que respeitar as Datas do Excel ja pré-definidas.

    Entendeu? não sei se é possível ou se tem outra forma mais fácil. mas desde ja agradeço sua ajuda. e vou ver o método DoCmd.TransferSpreadSheet.

    Obrigado

    Abel.

    Esta resposta foi útil?

    0 comentários Sem comentários
  4. Anônima
    2010-03-19T02:18:35+00:00

    Pode usar o método DoCmd.TransferSpreadsheet.

    Para comparar datas, pode ser mais fácil vincular o conteúdo do Excel no Access, fazer uma query para comparar as datas, e aí exportar a query para o Excel.


    Luiz Cláudio Cosenza Vieira da Rocha - http://msmvps.com/blogs/officedev - IT Lab www.itlab.com.br

    Esta resposta foi útil?

    0 comentários Sem comentários