Notifications
Clear all

Abrir useform de outra planilha (continuação)

12 Posts
4 Usuários
0 Reactions
3,105 Visualizações
(@lorenzon)
Posts: 355
Honorable Member
Topic starter
 

Pessoal,

No meu projeto eu preciso abrir uma outra planilha, através de um botão, ocultando a que encontra-se ativa.

Até então está tudo certo, eu utilizo o código abaixo:

UserForm1.Hide

Workbooks.Open ("C:Usersalisson.jalDownloadsBD_PDI.xlsm")

Essa segunda planilha, através do woorkbook open, abri um formulario que permite que o usuário altere alguns dados.

Eu quero abrir esse formulário através da 1° planilha, mais ou menos assim:

UserForm1.Hide

Workbooks.Open ("C:Usersalisson.jalDownloadsBD_PDI.xlsm")

userform2.show

Como devo fazer?

 
Postado : 30/01/2015 1:07 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Nada em nossa base te ajuda a adaptar?
http://www.google.com.br/cse?cx=partner ... 20planilha.

ou então, posta um modelo ai brother

Att

 
Postado : 31/01/2015 1:06 pm
(@lorenzon)
Posts: 355
Honorable Member
Topic starter
 

Alexandre,

Eu pesquisei, mas não encontrei algo que atendesse a essa necessidade.

Eu tenho uma planilha que a utilizo como banco de dados, porém, nessa planilha existe uma userform.

A necessidade é:

Em outro projeto, abrir esse banco de dados de duas formas:

botão 1: Abrir apenas o banco de dados para arquivar/registrar as informações.

botão2: Abrir o banco dedos e a userform que tem nele.

Como faço?

 
Postado : 02/02/2015 4:40 am
(@tvfrossard)
Posts: 0
New Member
 

Não seria mais fácil exportar o UserForm da planilha e importar na planilha inicial?

E, se for o caso, fazer ele salvar as informações na planilha inicial.

 
Postado : 02/02/2015 7:31 am
(@trindade)
Posts: 0
New Member
 

Bom dia, Lorenzon.

Da uma olhada nesse arquivo anexo, pra tirar alguma ideia:

Dúvida postada:
http://exceler.org/forums/topic/executar-macro-em-outro-computador/

Créditos da resposta:
http://www.vbaexpress.com/kb/getarticle.php?kb_id=279

 
Postado : 02/02/2015 7:58 am
(@lorenzon)
Posts: 355
Honorable Member
Topic starter
 

Darei uma olhada, mas pensei em algo mais simples, como:

Em cada botão eu colocar um código para registrar uma variável na planilha a ser aberta.

Sendo assim:

O botão 1 cadastra na célula A1 = "ABRIR USERFORM"

O botão 2 cadastra na célula A1 = "NÃO ABRIR USERFORM"

Dai eu verifico as variaveis e abro ou não a planilha. Tem como?

 
Postado : 02/02/2015 9:01 am
(@lorenzon)
Posts: 355
Honorable Member
Topic starter
 

Trindade,

Pelo o que eu entendi, esse código fará exatamente o que eu preciso, mas olha o erro que ocorreu:

Eu alterei o nome do arquivo, bem como o caminho do mesmo e, por fim, coloquei no workbook da planilha a ser aberta a sub:

Sub auto_open

userform35.show
'trata-se da userform que desejo abrir.

end sub

onde errei?

 
Postado : 02/02/2015 9:19 am
(@trindade)
Posts: 0
New Member
 

Bom dia, Lorezon.

Consegui montar o mesmo erro no meu arquivo, da uma olhada nesta linha:

Application.Run (wbTarget.Name & "!Auto_Open")

Provavelmente no seu projeto essa linha deve estar sem " ! " antes do nome da macro.

 
Postado : 02/02/2015 10:07 am
(@lorenzon)
Posts: 355
Honorable Member
Topic starter
 

Trindade,

Desculpa-me, mas o seu projeto é top. O erro foi decorrente a desatenção minha.

Realmente, o erro estava na linha:

Application.Run (wbTarget.Name & "!Auto_Open")

 
Postado : 03/02/2015 5:46 am
(@lorenzon)
Posts: 355
Honorable Member
Topic starter
 

Pessoal,

A minha necessidade, há alguns dias atrás, era de fazer com que o meu projeto, através de botão, abrisse uma determinada userform de uma determinada planilha salva em um caminho no c:

Com isso eu criei esse Tópigo: http://www.planilhando.com.br/forum/viewtopic.php?f=10&t=14404 e, com a ajuda do nosso amigo Trindade, atendi a minha necessidade. O código que ele indicou foi esse:

Private Sub Image29_Click()
Unload Me

' Creditos para o Site : http://www.vbaexpress.com/kb/getarticle.php?kb_id=279
' Duvida postada aqui : http://exceler.org/forums/topic/executar-macro-em-outro-computador/

     'Macro purpose:  Use the application.run method to execute
     'Finalidade Macro: Use o método Application.Run para executar
     
     'a macro without arguments from another workbook
     'uma macro sem argumentos de outra pasta de trabalho
     
    Dim PathToFile As String, _
    NameOfFile As String, _
    wbTarget As Workbook, _
    CloseIt As Boolean
     
     'Set file name and location. You will need to update this info!
     'Defina o nome do arquivo e local. Você precisará atualizar esta informação!
    NameOfFile = "BD_MASTER.xlsm"
    PathToFile = "L:Avaliacao_de_desempenhoBASE_DE_DADOS"
          
     'Attempt to set the target workbook to a variable.  If an error is
     'Tentativa de definir a pasta de trabalho de destino a uma variável. Se um erro é
    
     'generated, then the workbook is not open, so open it
     'gerado, em seguida, o livro não está aberto, então abra-o
     
    On Error Resume Next
    Set wbTarget = Workbooks(NameOfFile)
     
    If Err.Number <> 0 Then
    
         'Open the workbook
         'Abra a pasta de trabalho
         
        Err.Clear
        
        Set wbTarget = Workbooks.Open(PathToFile & "" & NameOfFile)
        
        CloseIt = True
    End If
     
     'Check and make sure workbook was opened
     'Verifique e certifique-se de livro foi aberto
     
    If Err.Number = 1004 Then
        MsgBox "Sorry, but the file you specified does not exist!" _
        & vbNewLine & PathToFile & "" & NameOfFile
        Exit Sub
    End If
    On Error GoTo 0
     
     'Run the macro!  (You will need to update "MacroName" to the
     'Execute a macro! (Você vai precisar atualizar "macro" para a
     
     'name of the macro you wish to run)
     'nome da macro que você deseja executar)
     On Error Resume Next
     
    Application.Run (wbTarget.abrir)
     
    If CloseIt = True Then
         'If the target workbook was opened by the macro, close it
         'Se o livro de destino foi aberto pelo macro, feche-
        wbTarget.Close savechanges:=False
        
        Application.Visible = False
        
              
    Else
         'If the target workbook was already open, reactivate this workbook
         'Se a pasta de trabalho de destino já estava aberta, reativar este livro
        ThisWorkbook.Activate
       
    End If

End Sub 

Ele funciona perfeitamente, mas eu quero que, ao clicar para abrir a userform da outra planilha, o projeto de origem, o qual possui o código acima, seja salvo e fechado. Como faria isso?

 
Postado : 03/03/2015 5:08 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia Lorenzon

Uni teus 2 tópicos.
Nunca crie 2 tópicos sobre a mesma dúvida.
Se aparecerem mais dúvidas, depois que o tópicos estiver trancado, mande uma MP para a Moderação que destrancamos o tópico.

[]s

Patropi-Moderador

 
Postado : 03/03/2015 5:54 am
(@lorenzon)
Posts: 355
Honorable Member
Topic starter
 

Bom dia Lorenzon

Uni teus 2 tópicos.
Nunca crie 2 tópicos sobre a mesma dúvida.
Se aparecerem mais dúvidas, depois que o tópicos estiver trancado, mande uma MP para a Moderação que destrancamos o tópico.

[]s

Patropi-Moderador

Bom dia Patroti, o que seria uma MP? Como a faço?

 
Postado : 03/03/2015 6:33 am