Blog Archive
-
▼
2005
(103)
-
▼
maio
(10)
- VBE: Novamente uma UDF
- VBE: Copiar dados de uma folha para outra
- VBE: Esconder os tabuladores das folhas
- VBE: Desactivar/ Activar uma tecla de Função
- VBA: o Método OnKey
- Excel & VBE: Check Box para Proteger/Desproteger F...
- VBA: Efectuar alterações num comentário múltiplo
- VBA: Ainda os "Comments"
- VBE: Adicionar num comentário todas as modificaçõe...
- Excel: Somar ocorrências, obedecendo a critérios. ...
-
▼
maio
(10)
About Me
Com tecnologia do Blogger.
Seguidores
Estatisticas
2005-05-27
VBE: Novamente uma UDF
1:09 da manhã |
Publicada por
JRod - PORTUGAL |
Editar mensagem
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.
"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.