MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


2 participantes

    [Resolvido]Limpar células do excel via access

    vallfon
    vallfon
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 15/05/2012

    [Resolvido]Limpar células do excel via access Empty Limpar células do excel

    Mensagem  vallfon 21/1/2013, 18:38

    Uso o código abaixo (by Tomás Vasquez) para apagar dados de uma planilha do Excel a partir do Access.


    On Error GoTo Err_Excel

    Dim AppExcel As Variant
    Dim wbook As Variant
    Dim wsheet As Variant


    Set AppExcel = CreateObject("Excel.Application")
    AppExcel.Workbooks.Open CurrentProject.Path & "\Form.xlsm", , True

    AppExcel.Visible = True
    Set wbook = AppExcel.Workbooks("\\Nato3\NATO_SERV\ConAccExcel\Form.xlsm")
    AppExcel.ScreenUpdating = False


    Range( _
    "A7:A8;B7:B8;C7:C8;D7;D8;E7;E8;F7;F8;G7;G8;H7:H8;A10:C10;D10;E10:H10;A12:C12;D12:E12;F12:G12;H12;A14:D14;E14:H14;A16:H16;A17:H17;A19:B19;C19:E19;F19:H19" _
    ).Select
    Range("F19").Activate
    Union(Range( _
    "G21;H21;A23;B23;C23;D23;E23;F23;G23;H23;A25;B25;C25;D25;E25;F25;G25;H25;A26;B26;C26;D26;E26;F26;G26;H26;A29;B29;C29;D29;E29;F29" _
    ), Range( _
    "G29;H29;A31:H31;A32:H32;A7:A8;B7:B8;C7:C8;D7;D8;E7;E8;F7;F8;G7;G8;H7:H8;A10:C10;D10;E10:H10;A12:C12;D12:E12;F12:G12;H12;A14:D14;E14:H14;A16:H16;A17:H17;A19:B19;C19:E19;F19:H19;A21;B21" _
    ), Range("C21;D21;E21;F21")).Select
    Range("A32").Activate
    Union(Range( _
    "G21;H21;A23;B23;C23;D23;E23;F23;G23;H23;A25;B25;C25;D25;E25;F25;G25;H25;A26;B26;C26;D26;E26;F26;G26;H26;A29;B29;C29;D29;E29;F29" _
    ), Range( _
    "G29;H29;A31:H31;A32:H32;A35:B35;C35:E35;F35:H35;A37:H37;A38:H38;A39:H39;A7:A8;B7:B8;C7:C8;D7;D8;E7;E8;F7;F8;G7;G8;H7:H8;A10:C10;D10;E10:H10;A12:C12;D12:E12;F12:G12;H12;A14:D14;E14:H14;A16:H16" _
    ), Range("A17:H17;A19:B19;C19:E19;F19:H19;A21;B21;C21;D21;E21;F21")).Select
    Range("A39").Activate

    Selection.ClearContents

    wbook.Saved = True
    AppExcel.DisplayAlerts = False
    AppExcel.Quit
    Set AppExcel = Nothing
    Set wbook = Nothing

    Exit Sub

    Err_Excel:
    wbook.Saved = True
    AppExcel.DisplayAlerts = False
    AppExcel.Quit
    Set AppExcel = Nothing
    Set wbook = Nothing
    MsgBox "Ocorreu algum problema no acesso à planilha do Excel. Contate o Administrador ", vbCritical
    Exit Sub

    Ocorre que quando o código é acionado a limpeza das células é realizada. Porém, quando volto ao formulário do Access está lá uma mensagem de erro dizendo que "o objeto é obrigatório" e no código está apontado o trecho


    Err_Excel:
    'wbook.Saved = True

    Socorro!!
    vallfon
    vallfon
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 15/05/2012

    [Resolvido]Limpar células do excel via access Empty Limpar células do excel via access

    Mensagem  vallfon 4/2/2013, 17:22

    Pessoal, não sei por qual razão o tópico que postei outrora não recebeu respostas. Talvez tenha mal explicado o problema ou, ainda, houve algum problema na postagem. Por essa razão estou postando um novo tópico.
    Estou querendo limpar algumas células de uma planilha Excel e para isso tentei uma conexão com o código abaixo. Infelizmente da erro: "Erro em tempo de execução '1004': erro de definição de aplicativo ou definição de objeto". Por favor me ajudem!

    Dim oApp As Object

    Set oApp = CreateObject("Excel.Application")
    oApp.Workbooks.Open CurrentProject.Path & "\Form1.xlsm"
    oApp.Visible = True
    oApp.Worksheets("Plan1").Range("A7:A8;B7:B8;C7:C8;D7:D8;E7:E8;F7:F8;G7:G8;H7:H8;A10:B10;C10:D10;E10:H10;A12:C12;D12:E12;F12:G12;H12;A14:D14;E14:H14;A16:H16;A17:H17;A19:B19;C19:E19;F19:H19;A21:B21;C21:E21;A35:B35;C35:E35;A37:H37;A38:H38;A39:H39;A7:A8;B7:B8;C7:C8;D7:D8;E7:E8;F7:F8;G7:G8;H7:H8;A10:B10;C10:D10;E10:H10;A12:C12;D12:E12;F12:G12;H12;A14:D14;E14:H14;A16:H16;A17:H17;A19:B19;C19:E19;F19:H19;A21:B21;C21:E21;A23:B23;C23:H23;A25:H25;A26:H26;A29:B29;C29:E29;A31:H31;A32:H32").Activate.Select
    Selection.ClearContents

    oApp.ActiveSheet.Range("A1").Select
    oApp.ActiveWorkbook.Save
    oApp.Application.Quit
    Set oApp = Nothing
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Limpar células do excel via access Empty Re: [Resolvido]Limpar células do excel via access

    Mensagem  criquio 4/2/2013, 17:28

    Amigão, quando mão receber resposta em um tópico, dê um up no mesmo após 24 horas. Pode ser que o tópico tenha descido devido ao grande número de novas postagens. Repetir tópico polui o fórum e dificulta as pesquisas de outros membros.
    Eu fundi os dois tópicos.

    Quanto á questão, você marcou a referência do Microsoft Excel?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    vallfon
    vallfon
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 15/05/2012

    [Resolvido]Limpar células do excel via access Empty Re: [Resolvido]Limpar células do excel via access

    Mensagem  vallfon 4/2/2013, 18:32

    Qual seria a referência?
    vallfon
    vallfon
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 15/05/2012

    [Resolvido]Limpar células do excel via access Empty Re: [Resolvido]Limpar células do excel via access

    Mensagem  vallfon 4/2/2013, 18:37

    Agora há pouco fiz isso aqui abaixo e está funcionando. Não sei se tem algum problema escondido. O código de conexão é seu. Lembra? Aqui estão algumas das células que quero limpar. Ficou mais leve. O outro código é feio de se ver!

    Dim oApp As Object

    Set oApp = CreateObject("Excel.Application")
    oApp.Workbooks.Open CurrentProject.Path & "\Form1.xlsm"
    oApp.Visible = True
    oApp.Worksheets("Plan1").Activate
    Range("A7").Value = ""
    Range("B7").Value = ""
    Range("C7").Value = ""
    Range("D7").Value = ""
    Range("H7").Value = ""
    Range("A10").Value = ""
    Range("C10").Value = ""
    Range("E10").Value = ""
    Range("A12").Value = ""
    Range("D12").Value = ""
    Range("F12").Value = ""
    Range("H12").Value = ""
    Range("E14").Value = ""
    Range("A16").Value = ""
    oApp.ActiveSheet.Range("A1").Select
    oApp.ActiveWorkbook.Save
    oApp.Application.Quit
    Set oApp = Nothing
    vallfon
    vallfon
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 15/05/2012

    [Resolvido]Limpar células do excel via access Empty Re: [Resolvido]Limpar células do excel via access

    Mensagem  vallfon 4/2/2013, 18:49

    ESTOU TESTANDO E ESTÁ DANDO PROBLEMA NO OBJETO. AQUI: Range("A7").Value = "". O SISTEMA DIZ QUE "Erro em tempo de execução '1004': O MÉTODO 'RANGE' DO OBJETO'_GLOBAL' FALHOU".
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Limpar células do excel via access Empty Re: [Resolvido]Limpar células do excel via access

    Mensagem  criquio 4/2/2013, 19:28

    Tente marcar a referência que falei. É só escolher a referência referente ao seu Excel: Microsoft Excel x.xx Object Library.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    vallfon
    vallfon
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 15/05/2012

    [Resolvido]Limpar células do excel via access Empty Re: [Resolvido]Limpar células do excel via access

    Mensagem  vallfon 5/2/2013, 18:22

    A referência está marcada! Com o código que postei em 04/02/2013 às 19:37h, acrescentando os objetos workbook e worksheet a execução funciona.Assim:

    Dim oApp As Object
    Set oApp = CreateObject("Excel.Application")
    oApp.Workbooks.Open CurrentProject.Path & "\Form.xlsm"
    oApp.Visible = True
    oApp.Worksheets("Plan1").Activate

    oApp.Worksheets("Plan1").Range("A7").Value = ""
    oApp.Worksheets("Plan1").Range("B7").Value = ""
    oApp.Worksheets("Plan1").Range("C7").Value = ""
    oApp.Worksheets("Plan1").Range("D7").Value = ""
    oApp.Worksheets("Plan1").Range("F7").Value = ""
    oApp.Worksheets("Plan1").Range("H7").Value = ""
    oApp.Worksheets("Plan1").Range("A10").Value = ""
    oApp.Worksheets("Plan1").Range("C10").Value = ""
    oApp.Worksheets("Plan1").Range("E10").Value = ""
    oApp.Worksheets("Plan1").Range("A12").Value = ""
    oApp.Worksheets("Plan1").Range("D12").Value = ""
    oApp.Worksheets("Plan1").Range("F12").Value = ""
    oApp.Worksheets("Plan1").Range("H12").Value = ""
    oApp.Worksheets("Plan1").Range("A14").Value = ""
    oApp.Worksheets("Plan1").Range("E14").Value = ""
    oApp.Worksheets("Plan1").Range("A16").Value = ""
    oApp.Worksheets("Plan1").Range("A17").Value = ""

    oApp.ActiveSheet.Range("A1").Select
    oApp.ActiveWorkbook.Save
    oApp.Application.Quit
    Set oApp = Nothing

    Conteúdo patrocinado


    [Resolvido]Limpar células do excel via access Empty Re: [Resolvido]Limpar células do excel via access

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 12:07