Ir ao conteúdo
  • Cadastre-se

VBA com SE, Consulta valor em celula, Interrompe ou Continua.


Posts recomendados

Bom dia!

 

Senhores preciso de uma ajuda.

 

Estou com o seguinte Codigo VBA:

 

Private Sub Workbook_Open()

 

** Quero Inserir aqui as informações abaixo.**

 

Dim wshNetwork As Object
Dim LogonName As Variant
  Set wshNetwork = CreateObject("WScript.Network")
 
  Range("M1").Select
  ActiveCell.FormulaR1C1 = Environ$("username")
   
  
MsgBox "Seja Bem vindo(a)  " & Range("n1").Value & " "

 
 
End Sub

 

 

 

Preciso alterar ele de forma que:

 

Se o valor em M1 da planilha Plan8 for maior que zero ele exibe uma MSGBox com o valor de M1 e Interrompe o resto do VBA,

Caso a celula N1 for vazia ele Continua a VBA.

 

Esta alteração eu gostaria de inserir lá no começo da VBA onde está em vermelho.

 

 

Aguardo por favor a ajuda de vocês.

 

 

 

Link para o comentário
Compartilhar em outros sites


Private Sub Workbook_Open()

'** Quero Inserir aqui as informações abaixo.**

If Plan8.[m1] > 0 Then MsgBox Plan8.[m1]

If Plan8.[n1] = "" Then

Dim wshNetwork As Object

Dim LogonName As Variant

Set wshNetwork = CreateObject("WScript.Network")

Range("M1").Select

ActiveCell.FormulaR1C1 = Environ$("username")

MsgBox "Seja Bem vindo(a) " & Range("n1").Value & " "

Else

Exit Sub

End If

End Sub

Link para o comentário
Compartilhar em outros sites

Amigo, não deu certo o que eu achei que daria...

 

Deixa eu tentar explicar minha ideial

 

Tenho esta planilha e ela é utilizada por uns 10 usuarios. não são todos ao mesmo tempo. porém queria o que, que quando alguem estivesse com ela aberta, e outra pessoa abrisse ela, que ela mostra a MSGBOX com o resultado em N1, porém se não tiver ninguem utlizando a planilha, que ela continuace com o resto do codigo vba, 

 

Obs: Fiz a planilha de forma que ao abrir ela salve em M1 o usuario da rede. o qual dá o resultado de uma Procv em N1 (apenas para mostrar o nome do usuario com o nome completo.

 

porém se a plan estiver aberta ela vai ficar salva o usuario.

 

Desta forma se alguem abrir o arquivo novamente, ele exibe esta mensagem que a planilha já está aberta e ai informa quem está com ela aberta.

 

Entendeu?

 

Se tiver uma forma de me ajudar eu agradeço.

 

Obs: se planilha nao estiver aberta, ou seja quando alguém usar ela e fechar, ela automaticamente já exclui o nome salvo em N1.

 

Desta fora o que define a msgbox a ser exibida é o valor em N1, se tiver vazia, continua o codigo normalmente, se tiver preenchida, exibe apenas esta msgbox de que o usuario "n1" está com a plan aberta e ai fecha a planilha.

 

Espero que possa me ajudar.


Amigo, não deu certo o que eu achei que daria...

 

Deixa eu tentar explicar minha ideial

 

Tenho esta planilha e ela é utilizada por uns 10 usuarios. não são todos ao mesmo tempo. porém queria o que, que quando alguem estivesse com ela aberta, e outra pessoa abrisse ela, que ela mostra a MSGBOX com o resultado em N1, porém se não tiver ninguem utlizando a planilha, que ela continuace com o resto do codigo vba, 

 

Obs: Fiz a planilha de forma que ao abrir ela salve em M1 o usuario da rede. o qual dá o resultado de uma Procv em N1 (apenas para mostrar o nome do usuario com o nome completo.

 

porém se a plan estiver aberta ela vai ficar salva o usuario.

 

Desta forma se alguem abrir o arquivo novamente, ele exibe esta mensagem que a planilha já está aberta e ai informa quem está com ela aberta.

 

Entendeu?

 

Se tiver uma forma de me ajudar eu agradeço.

 

Obs: se planilha nao estiver aberta, ou seja quando alguém usar ela e fechar, ela automaticamente já exclui o nome salvo em N1.

 

Desta fora o que define a msgbox a ser exibida é o valor em N1, se tiver vazia, continua o codigo normalmente, se tiver preenchida, exibe apenas esta msgbox de que o usuario "n1" está com a plan aberta e ai fecha a planilha.

 

Espero que possa me ajudar.

Link para o comentário
Compartilhar em outros sites

Veja se ajuda.

Só para confirmar, instale os dois códigos no módulo de EstaPasta_de_trabalho.

Private Sub Workbook_BeforeClose(Cancel As Boolean)  Sheets("Plan8").[M1] = ""End SubPrivate Sub Workbook_Open()If Sheets("Plan8").[M1] <> "" Then  MsgBox "este arquivo está em uso por " & Range("N1").Value  Me.Close FalseElse: [M1] = Environ$("username")  Me.SaveEnd IfEnd Sub
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...