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?”
httDe 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():
http://www.flickr.com/photos/49534346@N00/15847868/
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.