MouseMove em Célula
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!!
Discussão (0)
Carregando comentários...