Artigo: 151582 - Última revisão: quarta-feira, 11 de Outubro de 2006 - Revisão: 2.3 Métodos para utilizar personalizado funções com argumentos de variável
Nesta páginaSumárioUtilizar o Microsoft Excel, pode criar funções definidas pelo utilizador que podem ser chamadas a partir de uma folha de cálculo. Estas funções aceitam argumentos as chamadas de função que podem ser qualquer tipo. Por vezes, precisa de conseguir passar uma quantidade variável de argumentos para a função, dependendo da situação. Chamadas de função no Microsoft Visual Basic for Applications podem aceitar um número variável de argumentos, utilizando um dos três métodos. Cada método tem as suas próprias limitações e utiliza pode ser aplicado apenas em determinadas situações. As macros e funções seguintes demonstram cada método utilizando uma tarefa comum--somar uma quantidade variável de números e devolver os resultados. Mais InformaçãoA Microsoft fornece exemplos de programação apenas, para fins sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, as garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas que são utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador. Método 1: Palavra O ParamArray chaveUtilizar a palavra-chave ParamArray, a função pode aceitar qualquer número de argumentos, que são armazenadas na tabela que se segue a palavra-chave ParamArray. Por exemplo, conforme mostrado no seguinte procedimento Sub, Testit, cinco argumentos são enviados para a função, cada um deles colocados para a matriz nums com um número de índice separado. Em seguida, o limite superior da matriz nums encontra-se utilizar o Microsoft Visual Basic para aplicações função, UBOUND, que devolve o maior índice disponível para uma matriz que lhe é transferida. No exemplo seguinte, porque ParamArray é preenchido com cinco argumentos, n = 5, ParamArray sempre é uma matriz de variantes; não pode ser declarada como qualquer outro tipo.Método 2: Palavra O opcional chaveA palavra-chave opcional deve ser utilizada em situações onde não existe um limite superior do número de argumentos que vão ser transmitido. Por exemplo, se o número máximo de argumentos para uma função não vai exceder três ou quatro, pode utilizar a palavra-chave opcional em conjunto com a função ISMISSING. Função ISMISSING devolve VERDADEIRO ou FALSO, dependendo do que os argumentos foram transmitidos para a função. Os argumentos que utilize a palavra-chave opcional tem sempre de ser declarados como variante.Método 3: Utilizar variáveis públicasTambém é possível, mas não recomendado, deve utilizar variáveis com um âmbito público como "argumentos" de uma função definida pelo utilizador. Utilizar variáveis públicas como entradas para uma função não é igual a passar argumentos; a função chamada não inclui os argumentos próprios; estarem acessíveis para todas as funções do livro. Este método vai funcionar, mas uma vez que todos os procedimentos no livro têm acesso a estas variáveis, é possível que terão valores indesejáveis.Em termos de espaço de memória, método 3 utiliza o valor mínimo de armazenamento. O tipo de dados variante utilizado no Visual Basic for Applications irá aceitar qualquer dos tipos suportados dados e fazer automaticamente a conversão para o tipo de dados correctos internamente. No entanto, uma vez que tem de acomodar vários tamanhos de armazenamento diferente, tipos de dados variante utilizam 16 bytes de espaço de armazenamento na memória. Uma vez que tanto a palavra-chave opcional a palavra-chave ParamArray devem utilizar variantes como respectivo tipo de dados, atribuirá muito mais espaço na memória do que simplesmente não utilizar argumentos e declarar variáveis públicas do tipo correcto. Por exemplo, se tem uma função como entrada quatro ou cinco inteiros, se declarar variáveis públicas quatro ou cinco e atribuir números aos mesmos, o espaço de armazenamento total necessário só seriam bytes de 8 a 10 por oposição a 64 bytes 80 utilizando as palavras-chave opcional ou ParamArray. Utilizar variáveis públicas, como é mostrado no método 3 não é recomendada porque estas não são transmitidas para a função; apenas referidos. Além disso, utilizar variáveis públicas como entradas para uma função não introduz-los no Assistente de função. A função definida pelo utilizador terão sem argumentos listados no Assistente de função. ReferênciasPara obter mais informações sobre funções personalizadas, consulte o seguinte artigo na base de dados de conhecimento da Microsoft: 112321
(http://support.microsoft.com/kb/112321/EN-US/
)
Se utiliza o argumento opcional número inteiro a falha de macro com XL5: Tipo de dados A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 151582
(http://support.microsoft.com/kb/151582/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções de Artigos
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email



Voltar ao topo