Blog Archive

About Me

A minha foto
JRod - PORTUGAL
Microsoft [MVP] - Excel (10º ano consecutivo)
Ver o meu perfil completo
Com tecnologia do Blogger.

Seguidores

Estatisticas

Free Blog Counter

eXTReMe Tracker
2005-05-27
Leal Diogo, a propósito de um post meu, datado de 30 do passado mês de Abril, sobre uma UDF [NomeLF()] que devolve o nome da folha, (opção "F"), formulou a seguinte questão:

"Se se tiverem 2 folhas em que se faz uso desta função, sempre que se mude o nome de uma das folhas a outra também devolve o mesmo nome.
Como é que se poderá parar o efeito nas outras folhas?"


De facto, perante esta pergunta, a resposta só poderá ser esta: a UDF referida, não resolve esta questão, uma vez que, como é referido, mudando-se o nome de uma das folhas, a outra devolve igualmente o nome da folha modificada.

A resolução do problema assenta na inclusão da Propriedade Caller associada ao objecto Application, ou seja do código   Application.Caller numa outra função, a que chamaremos TesteNomedaFolha():



O Código:

Public Function TesteNomedaFolha()
    Application.Volatile
    Dim rng As Range
    Set rng = Application.Caller
    TesteNomedaFolha = rng.Parent.Name
End Function


Nota: Função elaborada a partir de código apresentado num forum por Tom Ogilvy - MVP Excel, em Maio de 2000.