Ir ao conteúdo
  • Cadastre-se

tiagonmuniz

Membro Pleno
  • Posts

    43
  • Cadastrado em

  • Última visita

Reputação

0
  1. 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.
  2. 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.
  3. Amigo, a macro funcionou, porém fica em loop constantemente. Por que serÁ? A ideia era que ela acionace apenas quando fosse alterado o valor em c4, mas parace que ela segue sempre em loop atÉ dar erro.
  4. Dim Numero As Integer Private Sub Worksheet_Calculate() 'Application.EnableEvents = False ' esta instrução deixa de ser necessária por a condição seguinte deixar de se verificar If Numero <> Range("M4") Then Numero = Range("M4") Select Case Numero Case 1 Call COPIA_01 Case Else End Select End If 'Application.EnableEvents = True End Sub ACHO QUE ASSIM VAI DAR CERTO... VOU TESTAR HJE A NOITE NA EMPRESA. COLOCO NO WORKSHEET NÉ? OU EM MODULO?
  5. então e e consigo usar ele em varias opções, exemplo, eu ja tenho umas macros que são ativadas porém ao digitar, agora para o resultado da procv é que ta complicando eu n to entendendo como funciona! achei uns exemplos porém para toda a planilha, eu preciso de um que execute apenas a celula expecifica e com o calculate é isso?
  6. Então amigo, eu nao sei usar o calculate. Minha planilha ta bem complexa, mas ainda estou no arroz com feijão. não faço ideia de como funciona uma macro com o Calculate. Se puder explicar ou dar uma ideia. preciso que o M4 ative as macros...
  7. Então meu amigo. eu tenho buscado uma forma de fazer esse processo, achei esta uma forma que pode dar certo, o que preciso na verdade é que o resultado da PROCV execute a macro, porém nao acontece isso. e cada vez que mudo C4 eu troco o codigo de busca do procv. por isso achei que seria a forma mais fácil. mas aceito sugestão, desde que funcione o que preciso, eu tinha em G19 a validação de dados e selecionando a macro executa, se eu digitar na celula tb executa, porém como resultado de procv não executa macro, então toda vez que M4 mudar (resultado) ele vai disparar uma macro, e o que comanda é C4, desta forma, se tiver uma ideia melhor que resolva eu aceito de todo coração ahsuahsahs. Obrigado.
  8. Bom dia! Preciso de uma macro que ative outra macro, sempre que o valor de uma celula mudar. Exemplo, Sempre que alterar o valor inserido em E4 a macro deve ativar a macro COPI_01 Obs: Já tenho um evento na planilha ativando outras macros, porém com resultados expecificos. AGORA QUERO APENAS QUE QUANDO A CELULA E4 FOR ALTERADA QUE EXECUTE A MACRO. OBS: M4 É O RESULTADO DE UM PROCV INSERIDO EM E4. POR ISSO TODA VEZ QUE MUDAR E4 VAI DAR UM RESULTADO DIFERENTE, ESTE POR VEZ É COPIADO E COLADO NA CELULA G19 ONDE VAI ATIVAR OUTRA MACRO. A IDEIA É QUE ESTA MACRO COPIA_1 SEJA ATIVADA SEMPRE QUE ALTERAR O E4. ELA FUNCIONA COM UM RESULTADO, porém SE EU ALTERAR PARA OUTRO ELE NAO FUNCIONA. Sub COPIA_01() ' ' COPIA CELULA E COLA APENAS VALOR SEM FORMULA ' Range("M4").Select Selection.Copy Range("G19").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End End Sub INSERI NA PLANILHA O SEGUINTE CODIGO. Private Sub Worksheet_Change(ByVal Target As Range, ByVal o_que_mudou As Range) Select Case Target.Address Case "$G$19" If UCase(Target.Value) = "-2032" Then Call MI_2032_000000000000001 End Select Select Case Target.Address Case "$G$19" If UCase(Target.Value) = "-876" Then Call XXX_ORG_DESDOBRAMENTO_1 End Select Select Case Target.Address Case "$G$19" If UCase(Target.Value) = "-922" Then Call XXX_ORG_DESDOBRAMENTO_1 End Select Select Case Target.Address Case "$G$19" If UCase(Target.Value) = "-1155" Then Call XXX_ORG_DESDOBRAMENTO_1 End Select Select Case Target.Address Case "$G$19" If UCase(Target.Value) = "-3565" Then Call XXX_ORG_DESDOBRAMENTO_1 End Select Select Case Target.Address Case "$G$19" If UCase(Target.Value) = "-2439" Then Call XXX_ORG_DESDOBRAMENTO_1 End Select Select Case Target.Address Case "$G$19" If UCase(Target.Value) = "-2850" Then Call XXX_ORG_DESDOBRAMENTO_1 End Select Select Case Target.Address Case "$G$19" If UCase(Target.Value) = "-3482" Then Call XXX_ORG_DESDOBRAMENTO_1 End Select End Sub ' ATIVA A MACRO COPIA_01 If o_que_mudou.Address = "$E$4" Then Application.EnableEvents = False ' importantíssimo !! Call COPIA_01 Application.EnableEvents = True ' importantíssimo !! End If End Sub AGUARDO AJUDA DOS AMIGOS.

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...