A palavra-chave " pública" VBA existe para fazer funções de VBA acessível a outras funções do VBA e sub-rotinas . Especificamente , isso faz com que seja possível para uma função VBA ou " sub " para chamar uma função em um outro módulo . Saber quando usar funções públicas permite que você indique para alguém estudando seu programa VBA que uma função tem um uso limitado. Isso ajuda a pessoa a entender o papel da função e importância relativa em seu programa. Finalidade
O propósito de uma função pública é fornecer acesso completo a uma função de qualquer outra sub-rotina em uma planilha do Excel . Por exemplo, se você escreveu uma função chamada " ParseLastName " que extrai o sobrenome de uma pessoa a partir de uma cadeia de caracteres contendo ambos primeiro e último nomes , muitas partes de seu código VBA , espalhados em diferentes módulos de codificação, pode ser necessário usar esta função. Fazendo a função privada iria impedir que os módulos de usar " ParseLastName , " assim que este público função.
Reconhecendo
Você pode reconhecer se uma função é pública , procurando por a palavra-chave " pública" antes da "função" de palavras-chave em qualquer lugar em VBA onde você pode escrever uma sub-rotina , incluindo o módulo " EsteLivro " , módulos de classe e os módulos " Folha ", que possuem sub-rotinas para cada planilha em uma planilha do Excel . Nem todas as funções públicas usar a palavra "público" , no entanto. Se esta palavra-chave estiver ausente, a função ainda é público, a menos que tenha a palavra-chave "private" , como em " someFunction função privada".
Exemplo de aplicativo
as funções públicas fornecer os meios para a criação de funções definidas pelo usuário que as listas do Excel em sua "caixa de diálogo Inserir função " na guia " fórmulas" . Para criar uma função definida pelo usuário que calcula o número de dias até o próximo Natal, primeiro cole a seguinte função pública em um novo módulo VBA, em seguida, retornar para o Excel e clique no botão " Fx " acima da grade da planilha . Clique na categoria " Definido pelo usuário " , em seguida, clique duas vezes no " DaysToChristmas " item que aparece . O Excel insere a sua função na planilha ativa.
DaysToChristmas Função Pública ( ) As Integer Dim
Natal
Dim CurrentYear As Integer
CurrentYear = Ano ( Agora)
Natal = " 25/12 /" & CurrentYear
DaysToChristmas = DateDiff ( "d" , now () , DateValue (Natal) ) Função
End
quando não usar
não use uma função pública quando você escreveu uma sub-rotina para o uso em um contexto específico . Use uma função particular em seu lugar. Por exemplo, se você precisa de uma função para retirar o terceiro personagem a partir do início de uma cadeia de caracteres, e apenas uma sub-rotina irá chamar esta função , escreva essa função auxiliar no mesmo módulo que a sub-rotina que precisa dele, e declará-lo privado. O perigo de declará-lo público é que você pode mais tarde precisa escrever uma função pública diferente com o mesmo nome. VBA irá exibir uma mensagem de erro neste caso, porque não se sabe qual a função que você pretende executar.