Compreender funções de vba e seus usos
Uma função executa um cálculo e retorna um único valor. A função SUM adiciona a soma de um intervalo de valores. O mesmo vale para as funções utilizadas em suas expressões VBA: Cada função faz sua coisa e retorna um único valor.
Conteúdo
- Exemplos de função vba
- Video: formatação - funções ucase, lcase e proper - dicas vba
- Encontrar um comprimento da corda
- Exibindo a parte inteira de um número
- Determinar um tamanho de arquivo
- A identificação do tipo de um objecto seleccionado
- Funções de vba que fazem mais do que retornar um valor
- Video: #36 - curso de macros e excel vba - tratamento de textos
- Funções discovering vba
- Video: #41 - curso de macros e excel vba - botão de opção
- Video: #46 - curso de macros e excel vba - controle tabstrip
As funções que você usa em VBA pode vir de três fontes:
- funções internas fornecidas pelo VBA
- funções de planilha fornecidos pelo Excel
- As funções personalizadas que você (ou outra pessoa) escrever, usando VBA
VBA oferece numerosas funções internas. Algumas destas funções recebem argumentos e outros não.
exemplos de função VBA
Aqui estão alguns exemplos de como usar funções de VBA no código. Observe o uso da função MsgBox para exibir um valor em uma caixa de mensagem. Sim, MsgBox é uma função VBA - um tanto incomum, mas uma função, no entanto. Esta função útil exibe uma mensagem em uma caixa de diálogo pop-up.
Exibindo a data do sistema
O primeiro exemplo usa a função Data do VBA para exibir a data atual do sistema em uma caixa de mensagem:
Sub VerData ()
MsgBox Data
End Sub
Observe que a função Date não usa um argumento. Ao contrário de funções de planilha, uma função VBA com nenhum argumento não requer um conjunto vazio de parênteses. Na verdade, se você fornecer um conjunto vazio de parênteses, o VBE irá removê-los.
Video: Formatação - Funções Ucase, Lcase e Proper - Dicas VBA
Para obter a data e hora do sistema, use a função Agora, em vez da função Data. Ou para obter apenas o tempo, use a função Time.
Encontrar um comprimento da corda
O procedimento a seguir utiliza a função VBA Len, que devolve o comprimento de uma corda. A função Len tem um argumento: a corda. Quando você executa esse procedimento, a caixa de mensagem exibe 11 porque o argumento tem 11 caracteres.
Sub GetLength ()
Dim MyString As String
Dim StringLength As Integer
MyString = “Olá Mundo”
StringLength = Len (MyString)
MsgBox StringLength
End Sub
Excel também tem uma função, que você pode usar em seus fórmulas de planilha. A versão Excel ea função VBA funcionam da mesma forma.
Exibindo a parte inteira de um número
O procedimento a seguir utiliza a função FIX, que retorna a número inteiro parte de um valor - o valor sem dígitos decimais:
Sub GetIntegerPart ()
Dim MyValue As Double
Dim intValue As Integer
MyValue = 123,456
Intvalue = Fix (MyValue)
MsgBox intValue
End Sub
Neste caso, a caixa de mensagem exibe 123.
VBA tem uma função semelhante chamada Int. A diferença entre Int e Fix é como cada lida com números negativos.
- Int retorna o primeiro inteiro negativo que é menor ou igual ao argumento.
- Fix retorna o primeiro inteiro negativo que é maior ou igual ao argumento.
Determinar um tamanho de arquivo
O seguinte procedimento Sub exibe o tamanho, em bytes, do arquivo executável Excel. Ele encontra esse valor usando a função FileLen.
Sub GetFileSize ()
Dim TheFile As String
TheFile = “c: MSOFFICEEXCELEXCEL.EXE”
MsgBox FileLen (TheFile)
End Sub
Observe que esta rotina códigos rígidos o nome do arquivo (ou seja, ele afirma explicitamente o caminho). Geralmente, isso não é uma boa idéia. O arquivo pode não ser na unidade C, ou a pasta Excel pode ter um nome diferente. A declaração a seguir mostra uma abordagem melhor:
TheFile = Application.Path & “EXCEL.EXE”
Path é uma propriedade do objeto Application. Ele simplesmente retorna o nome da pasta na qual o aplicativo (ou seja, Excel) está instalado (sem uma barra invertida).
A identificação do tipo de um objecto seleccionado
O procedimento a seguir utiliza a função NomeTipo, que retorna do tipo de objecto seleccionada (como uma cadeia):
Sub ShowSelectionType ()
SelType Dim As String
SelType = NomeTipo (Selecção)
MsgBox SelType
End Sub
Isto poderia ser um intervalo, um ChartObject, uma caixa de texto, ou qualquer outro tipo de objecto que pode ser seleccionado.
A função TypeName é muito versátil. Você também pode usar esta função para determinar o tipo de dados de uma variável.
funções de VBA que fazem mais do que retornar um valor
Algumas funções de VBA vão acima e além da chamada do dever. Ao invés de simplesmente retornar um valor, essas funções têm alguns efeitos colaterais úteis. A Tabela 1 apresenta-os.
Tabela 1: Funções com benefícios colaterais Úteis
Função | O que faz |
MsgBox | Exibe uma caixa de diálogo útil contendo uma mensagem e botões. A função retorna um código que identifica o botão que o usuário clica. |
Caixa de entrada Video: #36 - Curso de Macros e Excel VBA - Tratamento de Textos | Exibe uma caixa de diálogo simples que pede ao usuário para alguma entrada. A função retorna tudo o que o usuário digita na caixa de diálogo. |
Concha | Executa outro programa. A função retorna o tarefa ID (Um identificador único) do outro programa (ou um erro se a função não pode iniciar outro programa). |
funções Discovering VBA
Como você descobrir o que funciona VBA fornece? Boa pergunta. A melhor fonte é o sistema de Ajuda do Visual Basic Excel. A Tabela 2 contém uma lista parcial de funções (menos algumas das funções mais especializadas ou obscuras).
Para detalhes completos sobre uma determinada função, digite o nome da função em um módulo VBA, mova o cursor em qualquer lugar do texto, e pressione F1.
Tabela 2: A maioria funções úteis do Built-in do VBA
Função | O que faz |
Abs | Retorna o valor absoluto de um número |
ordem | Devolve uma variante contendo uma matriz |
Asc | Converte o primeiro caractere de uma string para o seu valor ASCII |
ATN | Retorna o arco tangente de um número Video: #41 - Curso de Macros e Excel VBA - Botão de Opção |
Escolher | Retorna um valor a partir de uma lista de itens |
Chr | Converte um valor de ANSI para uma string |
Cos | Retorna cosseno de um número |
CurDir | Retorna o caminho atual |
Encontro | Retorna a data atual do sistema |
DateAdd | Retorna uma data a que um intervalo de tempo especificado foi |
acrescentou - por exemplo, um mês a partir de uma determinada data | |
DateDiff | Retorna um inteiro mostrando o número de intervalos de tempo especificados entre duas datas, por exemplo, o número de meses entre agora e seu aniversário |
PartData | Retorna um número inteiro que contém a parte específica de uma dada |
data - por exemplo, um dia de data do ano | |
DateSerial | Converte uma data para um número de série |
DateValue | Converte uma string para uma data |
Dia | Retorna o dia do mês a partir de um valor de data |
dir | Retorna o nome de um arquivo ou diretório que corresponde a um padrão |
Erl | Retorna o número da linha que causou um erro |
Errar | Retorna o número de erro de uma condição de erro |
Erro | Retorna a mensagem de erro que corresponde a um número de erro |
Exp | Retorna a base do logaritmo natural (e) elevado a uma potência |
FileLen | Retorna o número de bytes em um arquivo |
Consertar | Retorna parte inteira de um número |
Formato | Exibe uma expressão em um formato particular |
GetSetting | Retorna um valor de registro do Windows |
feitiço | Converte de decimal para hexadecimal |
Hora | Retorna a porção horas de um tempo |
Caixa de entrada | Exibe uma caixa para solicitar um usuário para entrada |
InStr | Retorna a posição de uma string dentro de outra cadeia |
int | Retorna a parte inteira de um número |
IPmt | Retorna o pagamento de juros de uma anuidade ou empréstimo |
IsArray | Retorna True se uma variável é um array |
IsDate | Retorna True se uma expressão é uma data |
Está vazia | Retorna True se uma variável não foi inicializada |
IsError | Retorna True se uma expressão é um valor de erro |
Está desaparecido | Retorna True se um argumento opcional não foi passado para um procedimento |
É nulo | Retorna True se uma expressão não contém dados válidos |
IsNumeric | Retorna True se uma expressão pode ser avaliada como um número |
IsObject | Retorna True se a expressão faz referência a um objeto de automação OLE |
LBound | Retorna o menor índice para uma dimensão de um array |
LCase | Retorna uma string convertidos para minúsculas |
Esquerda | Retorna um número especificado de caracteres a partir da esquerda de uma string |
Len | Retorna o número de caracteres em uma string |
Registro | Retorna o logaritmo natural de um número de base e |
LTrim | Retorna uma cópia de uma corda, com quaisquer espaços à esquerda removidos |
médio | Retorna um número especificado de caracteres de uma cadeia |
Minuto | Retorna a parte minutos de um valor de tempo |
Mês | Retorna o mês a partir de um valor de data |
MsgBox | Exibe uma caixa de mensagem e (opcionalmente) devolve um valor |
Agora | Retorna o atual sistema data e hora |
RGB | Retorna um valor RGB numérico que representa uma cor Video: #46 - Curso de Macros e Excel VBA - Controle TabStrip |
Certo | Retorna um número especificado de caracteres da direita de uma string |
Rnd | Retorna um número aleatório entre 0 e 1 |
RTrim | Retorna uma cópia de uma corda, com espaços à direita removidos |
Segundo | Retorna a parte segundos de um valor de tempo |
SGN | Retorna um inteiro que indica sinal de um número |
Concha | Executa um programa executável |
Pecado | Retorna sine um número |
Espaço | Retorna uma string com um número especificado de espaços |
Sqr | Retorna a raiz quadrada de um número |
Str | Retorna uma representação de cadeia de um número |
StrComp | Retorna um valor que indica o resultado de uma comparação de string |
Corda | Retorna uma personagem repetindo ou string |
bronzeado | Devolve a tangente de um número |
Tempo | Retorna a hora atual do sistema |
Cronômetro | Retorna o número de segundos desde a meia-noite |
TimeSerial | Retorna o tempo para uma especificado hora, minuto e segundo |
TimeValue | Converte uma string para um número de série tempo |
aparar | Retorna uma seqüência de caracteres sem espaços à esquerda ou à direita |
Digite o nome | Retorna uma string que descreve o tipo de dados de uma variável |
UBound | Retorna o maior índice disponível para a dimensão de um array |
UCase | Converte uma string para maiúsculas |
Val | Retorna os números contidos em uma string |
VarType | Retorna um valor indicando subtipo de uma variável |
dia da semana | Retorna um número que representa um dia da semana |
Ano | Retorna o ano a partir de um valor de data |