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

    Excecução de macro via vba

    avatar
    lsdtampi
    Novato
    Novato


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 5
    Registrado : 23/03/2014

    Excecução de macro via vba Empty Excecução de macro via vba

    Mensagem  lsdtampi 27/3/2014, 15:39

    Código:
    Public Function Macro()
        
        Dim xl As Object
        Dim hlp As Integer
        
        
            Set xl = CreateObject("Excel.Application")
            xl.Workbooks.Open ("L:\Publica\HYDE\MACRO CONCILIAÇÃO COM REMESSA 2.3.xlsm")
        
            xl.Visible = True
             hlp = InputBox("Qual Macro a que deseja rodar?" & Chr(13) & "1- BUSCAR_CONTRATO" & Chr(13) & "2-CONCILIAÇÃO" & Chr(13) & "3-VERIFICAR_AJUSTES")
        
             If hlp = 1 Then
              xl.Run "BUSCAR_CONTRATO"
             End If
        
             If hlp = 2 Then
               xl.Run "CONCILIACAO"
             End If
        
             If hlp = 3 Then
              xl.Run "VERIFICAR_AJUSTES"
             End If
      
            ActiveWorkbook.Close
             xl.Quit
          
            Set xl = Nothing

    Fiz esse código acima pra rodar macros no excel, só que se eu quiser rodar outra macro ele abre o arquivo denovo, resumindo se eu clicar 10x no botão no formulario rodar macro ele abre 10x o excel,
    tô apanhando pra fazer uma lógica em que ele rode as macros na mesma instância que eu rodei a primeira , e só depois eu salve.
    Silvanio123
    Silvanio123
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 98
    Registrado : 24/08/2011

    Excecução de macro via vba Empty Re: Excecução de macro via vba

    Mensagem  Silvanio123 28/3/2014, 20:01

    Boa tarde lsdtampi,

    Quando vc pressiona o botão pede para criar um objeto "CreateObject", se você não quer repetir a criação, creio que deve criar a condição para que ele só abra caso já não estivesse aberto... Comece o raciocínio por ai.

    => Set xl = CreateObject("Excel.Application")

    Agora aconselho a usar "Select Case" no lugar de If's para as condições na abertura.

    ...
    If hlp = 1 Then
    xl.Run "BUSCAR_CONTRATO"
    End If
    ...

    Vlw.

      Data/hora atual: 23/11/2024, 04:21