Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
tiagonmuniz

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

Recommended Posts

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.

 

 

 

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • 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.

    Compartilhar este post


    Link para o post
    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

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×