Blog Archive
-
▼
2005
(103)
-
▼
abril
(16)
- VBA: Ainda a UDF
- VBA: UDFs
- Excel: Hyperlink personalizado
- Excel: Uma solução diferente de SUMPRODUCT: a util...
- Excel: Ainda a Função SUMPRODUCT()
- VBA: Blink Label
- VBA: Label1.Caption
- VBA: O Método ActiveWorkbook.SaveAs Filename
- VBA Msg
- VBA: Centrar texto numa MsgBox
- VBA: Abrir procedimento com valor numa determinada...
- VBA: Colocar a Data numa célula
- VBA: Filtro numa ListBox II
- VBA: Filtro numa ListBox
- VBA: Filtrar por critério
- VBA: Limpar conteúdos
-
▼
abril
(16)
About Me
Com tecnologia do Blogger.
Seguidores
Estatisticas
2005-04-30
VBA: Ainda a UDF
12:17 da manhã |
Publicada por
JRod - PORTUGAL |
Editar mensagem
Como pode ser facilmente observado, se mudarmos o nome da folha, por exemplo, de SHEET1 para TESTE01, nada acontece na célula que contém a função =NomeLF("F"), ou seja, a célula não é actualizada, apesar da alteração efectuada.
A maneira mais prática de "provocar" essa actualização, de um modo mais ou menos automático, é incluir no código a instrução Application.Volatile, porque o Excel não consegue determinar que é necessário efectuar o recálculo para actualizar a folha.
O Código:
Option Explicit
Public Function NomeLF(strChoice As String) As String
Dim livro As String
Dim folha As String
Application.Volatile ' Esta é a nova linha
If strChoice = "L" Then
livro = ActiveWorkbook.Name
NomeLF = livro
ElseIf strChoice = "F" Then
folha = ActiveSheet.Name
NomeLF = folha
Else
End If
End Function
A maneira mais prática de "provocar" essa actualização, de um modo mais ou menos automático, é incluir no código a instrução Application.Volatile, porque o Excel não consegue determinar que é necessário efectuar o recálculo para actualizar a folha.
O Código:
Option Explicit
Public Function NomeLF(strChoice As String) As String
Dim livro As String
Dim folha As String
Application.Volatile ' Esta é a nova linha
If strChoice = "L" Then
livro = ActiveWorkbook.Name
NomeLF = livro
ElseIf strChoice = "F" Then
folha = ActiveSheet.Name
NomeLF = folha
Else
End If
End Function