MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]registro access para célula do excel

    Compartilhe

    ifahidalgo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 317
    Registrado : 13/10/2011

    [Resolvido]registro access para célula do excel

    Mensagem  ifahidalgo em Qua 23 Ago 2017, 20:40

    Senhores, estou utilizando o codigo do Mestre Avelino abaixo;
    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

    mas preciso inserir nas linhas do excel o resultado de uma consulta. como fazer?
    objSheet.cells(1, 3).Value = resultado de consulta
    objSheet.cells(2, 3).Value = resultado de consulta
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6496
    Registrado : 05/11/2009

    Re: [Resolvido]registro access para célula do excel

    Mensagem  Alexandre Neves em Qua 23 Ago 2017, 20:44

    Boa noite,
    Crie recordset com a consulta, já temos abordado inúmeras vezes desde 2011
    passe o campo para o excel: objSheet.cells(2, 3).Value = rst("CampoX")


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    ifahidalgo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 317
    Registrado : 13/10/2011

    Re: [Resolvido]registro access para célula do excel

    Mensagem  ifahidalgo em Qua 23 Ago 2017, 23:26

    tentei dessa forma mais cedo e não conseguia de jeito nenhum, tentei agora e foi, obrigado.

    ifahidalgo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 317
    Registrado : 13/10/2011

    Re: [Resolvido]registro access para célula do excel

    Mensagem  ifahidalgo em Qua 23 Ago 2017, 23:44

    outra duvida.

    rstTemp.MoveFirst
    Do While Not rstTemp.EOF
    'Insere os dados nas celulas desejadas
    'L, C
    objSheet.cells(13, 1).Value = rstTemp("ncaixa")
    objSheet.cells(13, 2).Value = rstTemp("codTTD")

    rstTemp.MoveNext
    Loop

    para pular a linha e preencher a 14 e assim enquanto rodar o while?
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6496
    Registrado : 05/11/2009

    Re: [Resolvido]registro access para célula do excel

    Mensagem  Alexandre Neves em Qui 24 Ago 2017, 09:03

    Bom dia
    Não entendi, quer dentro do registo do Access irmudando de linha no Excel?
    Deve ser isto

    rstTemp.MoveFirst
    Do While Not rstTemp.EOF
    'Insere os dados nas celulas desejadas
    'L, C
    for Linha=13 to 14
    objSheet.cells(Linha, 1).Value = rstTemp("ncaixa")
    objSheet.cells(Linha, 2).Value = rstTemp("codTTD")
    next
    rstTemp.MoveNext
    Loop


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

      Data/hora atual: Sab 18 Nov 2017, 01:08