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.

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


Publicações relacionadas