Página 1 de 1

Abrir form pop-up <> do da primeira abertura, com condição

Enviado: 21 Mai 2018 às 16:50
por AMORIM123
Olá, galera...boa tarde.

tenho a seguinte questão:

Ao incializar minha planilha tenho a instrução para que abra em pop-up apenas o frm_cadastro; este form deve ser aberto uma única vez para que sejam cadastrados os dados de seus txtbox's; numa segunda inicialização da planilha, se já houver preenchimento de dados anteriores a planilha deveria inicializar com frm_rbpa.

Estou tentando algo como:

mesmo assim ainda está abrindo o "frm_cadastro"

Código: Selecionar todos
Private Sub UserForm_Initialize()

Application.ScreenUpdating = False

With wshCadastro
If .Cells(1, 1) = empresa And .Cells(2, 1) = cnpj And .Cells(3, 1) = dataabertura <> "" Then
Unload frm_cadastros
frm_rbpa.Show


End If
End With

Application.ScreenUpdating = True

Private Sub UserForm_Terminate()

    Application.Visible = True
    ActiveWorkbook.Save
    Application.Quit

End Sub
Código: Selecionar todos
Option Explicit
Private Sub workbook_open()

    Call ocultar_tudo
    Application.Visible = False
    frm_cadastros.Show
    
    
End Sub
Código: Selecionar todos
Option Explicit

Sub ocultar_tudo()

Application.ExecuteExcel4Macro "Show, toolbar(""ribbon"",false)"
Application.DisplayFormulaBar = False
Application.DisplayStatusBar = False
Application.Caption = ""

With ActiveWindow
.DisplayHeadings = False
.DisplayWorkbookTabs = False
.DisplayGridlines = False
.DisplayHorizontalScrollBar = False
.DisplayVerticalScrollBar = False
.DisplayZeros = False

End With

End Sub
segue planilha para ajudar a me ajudar...rsrsrs

Desde já muito abrigado pelo tempo e conhecimento!

Re: Abrir form pop-up <> do da primeira abertura, com condiç

Enviado: 21 Mai 2018 às 23:16
por babdallas
Este código está estranho
Código: Selecionar todos
If .Cells(1, 1) = empresa And .Cells(2, 1) = cnpj And .Cells(3, 1) = dataabertura <> "" Then
Qual teste deseja fazer?
1) se estas células são diferentes de vazio?
ou
2) se são iguais às variáveis empresa, cnpj e dataabertura?

Abrir form pop-up <> do da primeira abertura, com condição

Enviado: 22 Mai 2018 às 09:24
por AMORIM123
Fala meu amigo babdallas!

Realmente, bastante estranho, viu!

O objetivo é fazer com que se as cell's estando vazias abra "frm_cadastro"...estando preenchida abra: "frm_rbpa" com alteração abaixo rodou legal, da forma que tava nunca iria realizar a ação esperada

Alterei para :
Código: Selecionar todos
Private Sub UserForm_Initialize()

Application.ScreenUpdating = False

With wshCadastro
If .Cells(1, 1) <> "" And .Cells(2, 1) <> "" And .Cells(3, 1) <> "" Then
Unload frm_cadastros
frm_rbpa.Show
Porém agora está dando um novo erro

"Erro em tempo de execução '2110':
Não é possível mover o foco para o controle porque está invisível, não ativado ou é de um tipo que não aceita o foco."


se depurar o vba seleciona em amarelo :
Código: Selecionar todos
Private Sub workbook_open()

    Call ocultar_tudo
    Application.Visible = False
   [color=#FFFF00] frm_cadastros.Show[/color]
    
End Sub
Sei que é pois ele não tem para onde mover foco uma vez que está com a propriedade ".visible = false" porém não estou conseguindo solucionar e fica sempre dando este erro qnd encerro o form...puder dar uma mão te agradeço.

Re: Abrir form pop-up <> do da primeira abertura, com condiç

Enviado: 22 Mai 2018 às 14:28
por babdallas
tente rodar sem esta linha
Código: Selecionar todos
Application.Visible = False
Tem que tomar muito cuidado ao ocultar a aplicação. Eu particularmente não gosto.

Abrir form pop-up <> do da primeira abertura, com condição

Enviado: 22 Mai 2018 às 15:43
por AMORIM123
Não queria deixar de ocultar a aplicação, mas testei fazer a sugestão, porém ao fechar a planilha continua:

"Erro em tempo de execução '2110':
Não é possível mover o foco para o controle porque está invisível, não ativado ou é de um tipo que não aceita o foco."