GTTJ 0 Denunciar post Postado Novembro 17, 2016 Ola´, Estou com o seguinte problema: Tenho uma fórmula =SEERRO(HIPERLINK(MouseMove(B7);"");EJ7),na célula B7. Note que tenho duas funções uma Hiperlink e outra chamada MouseMove, UDF. Este jogo me permite o efeito de MouseMove em célula. Estou com problema na terceira passagem do Menu, que também contém está formula. Parece que tem algum evento concorrente, mas não consigo me desvencilhar, pois na terceira passagem do Menu ele só executa a primeira linha. e ignora o restante. Exemplficando: Na célula B7 está aparecendo a palavra Menu que se localiza na célula "EJ7". assim: =SEERRO(HIPERLINK(MouseMove(B7);"");EJ7) Esta fórmula ou Macro chama a função Function MouseMove(endereco As Range) If Range("D1") = endereco Then Exit Function If endereco.Address = "$B$7" Then Range("D8:F50") = "" Range("D1") = endereco Range("B8:B9") = "=IFERROR(HYPERLINK(MouseMove1(RC),""""),RC[138])" Application.EnableEvents = False Range("D8:F50") = "" End If End Function Nas células B8 e B9 aparecem as palavras "Coordenador" e "Supervisor" e as fórmulas são: =SEERRO(HIPERLINK(MouseMove1(B8);"");EJ8) =SEERRO(HIPERLINK(MouseMove1(B9);"");EJ9) A função chamada é: Function MouseMove1(endereco As Range) 'Application.EnableEvents = True If Range("D1") = endereco Then Exit Function If endereco.Address = "$B$9" Then Range("D8:F50") = "" Range("FK2:FK40") = "" Range("D1") = endereco Macro1 X = Application.WorksheetFunction.CountA(Range("FK1:FK500")) 'Application.EnableEvents = False 'Range("D9:D19") = "=IFERROR(HYPERLINK(MouseMove2(RC),""""),R[-8]C[151])" Range(Chr(endereco.Column + 66) & endereco.Row & ":" & Chr(endereco.Column + 66) & endereco.Row + X - 1) = "=IFERROR(HYPERLINK(MouseMove2(R[-8]C[151]),R[-8]C[151]),R[-8]C[151])" 'Calculate 'Call Adicionar_Analista 'Application.EnableEvents = False End If If endereco.Address = "$B$8" Then Range("D8:F50") = "" Range("D1") = endereco X = Application.WorksheetFunction.CountA(Range("FL1:FL500")) 'Application.EnableEvents = False Range(Chr(endereco.Column + 66) & endereco.Row & ":" & Chr(endereco.Column + 66) & endereco.Row + X - 1) = "=IFERROR(HYPERLINK(MouseMove3(R[-7]C[164]),R[-7]C[164]),R[-7]C[164])" Application.EnableEvents = True End If Observação está função cria um submenu com o nome dos supervisores, caso a célula escolhida foi "B9" ou "B8", no caso de Coordenador. Até aquí tubo bem, porém, neste submenu também tem outra conjugação desta fórmulas, mas só é executado a primeira linha desta terceira função: . Notem a função: Function MouseMove2(endereco As Range) Range("E1") = endereco.Value X = Application.WorksheetFunction.CountA(Range("FJ1:FJ500")) Range(Chr(endereco.Column + 65) & endereco.Row & ":" & Chr(endereco.Column + 65) & endereco.Row + X - 1) = "=IFERROR(HYPERLINK(MouseMove1(RC),""""),R[" & -endereco.Row + 1 & "]C[149])" End Function Nela solicito que: Na 1ª Linha - A célula "E1" receba o valor correspondente a onde Mouse estiver passando, pois vou precisar deste valor. Na 2ª Linha - Faça a contagem de quantos operadores estão abaixo deste supervisor em questão. Na 3ª Linha - Informo para ele criar um segundo submenu contendo os nomes Operadores daquele Supervisor. Só é executado a primeira linha. Já tentei várias coisas Application.EnableEvents de diversas formas. Conjugar com o evento Change e Nada! Alguém se puder me ajudar fico grato!! Compartilhar este post Link para o post Compartilhar em outros sites