Pesquisar este blog

quinta-feira, 26 de dezembro de 2013

FUNÇÃO PARA MANIPULAÇÃO DE STRING - CHR

CHR


    Função empregada para retornar o caractere associado ao código de caractere fornecido como argumento, utilizando esta sintaxe:

Chr(CódigoDoCaracter)

Onde, 
  • CódigoDoCaracter; argumento obrigatório, consistindo de um número que identifique um caractere na tabela ASCII ou UNICODE. 
As seguintes considerações são válidas para a função Chr: 
  • A faixa padrão de caracteres varia de 0 a 255 (inclusive). Em sistemas UNICODE (como o Chinês), este valor pode variar de 128 a 32768;
  • Códigos compreendidos entre 0 a 31 são códigos ASCII não imprimíveis, utilizados pelo sistema operacional, Chr(0) retorna Null, Chr(13) = Enter ou Carriage Return, Chr(9) = Tab etc.;
  • Chr() é útil em eventos de tecla (KeyDown, KetUp e KeyPress) para identificar o código das teclas pressionadas pelo usuário. KeyDown e KeyUp diferenciam as teclas esquerda e direita (como Shift, Ctrl e Alt) enquanto KeyPress não as diferencia.
Exemplo: No próximo exemplo, demonstra-se como empregar a função Chr() para verificar qual foi a tecla pressionada, empregando-se a janela Verificação Imediata.

?Chr(48)       ‘Retorna 0
?Chr(49)       ‘Retorna
?Chr(65)       ‘Retorna A
?Chr(66)       ‘Retorna B


Até a Próxima!!

FUNÇÃO PARA MANIPULAÇÃO DE STRING - FORMAT

FORMAT


    Função empregada para formatar uma expressão de acordo com as instruções contidas no código de formatação fornecido, utilizando esta sintaxe:

Format(Expressão[,Formato[,PrimeiroDiaDaSemana[,PrimeiraSemanaDoAno]]])

Onde, 
  • Expressão: argumento obrigatório, consistindo de qualquer expressão válida;
  • Formato: argumento opcional, consistindo de um nome ou formato válido, passível de ser aplicado a Expressão, ou de uma string de formatação. Ambos fornecidos entre aspas;
  • PrimeiroDiaDaSemana: argumento opcional, é uma constante que especifica o qual é o primeiro dia da semana (domingo, segunda, terça...) valor padrão para este argumento opcional é “domingo” (valor 1). Outros valores possíveis podem ser encontrados na tabela a seguir: 









  • PrimeiraSemanaDoAno: argumento opcional, é uma constante que especifica qual será considerada a primeira semana do ano. A menos que seja explicitamente especificado, o VBA supõe que a primeira semana do ano é aquela onde se encontra o dia 1 de janeiro.






Até a Próxima!!

FUNÇÃO PARA MANIPULAÇÃO DE STRING - FORMATANDO NÚMEROS

Formatando Números


    As seguintes considerações são válidas para a função Format para a Formatação de Números: 
  • Format sempre devolve uma string numérica;
  • Se Expressão for um número e você não especificar o formato desejado, o valor retornado por Format será similar ao valor retornado pela função Str, excetuando-se pelo fato de que números formatados como Str incluem um espaço à sua esquerda para indicar o sinal do número, enquanto que Format, sem qualquer argumento, não fornece este espaço;
  • Empregue os formatos nomeados do VBA para utilizar os padrões definidos no Painel de Controle do Windows, empregue as constantes citadas na próxima tabela; 






























  • Além dos formatos nomeados, você também pode se valer da segunda tabela para criar formatos numéricos definidos pelo usuário; 


  • Números formatados com a função Format podem possuir até quatro seções distintas de formatação, separadas por vírgulas que, se utilizadas, atuam na formatação do número de acordo com a seguinte regra:
    • Apenas uma seção: todos os valores são formatados de acordo com o formato empregado;
    • Duas seções: a primeira seção aplica-se a números positivos e zero, enquanto a segunda seção aplica-se a números negativos;
    • Três seções: a primeira seção aplica-se a números positivos, a segunda a números negativos e a terceira ao valor zero;
    • Quatro seções: a primeira seção aplica-se a números positivos; a segunda a números negativos; a terceira ao valor zero; e a quarta a valores nulos (Null). 
Exemplo: Os exemplos a seguintes indicam como empregar a função Format para formatar números com seus diversos argumentos:

?Format(10000)                                                 ‘Resulta em 10000
?Format(10000, “#,###.00)                               ‘Resulta em 10,000.00
?Format(1123.4560, “#,###.00)                        ‘Resulta em 1,123.46
?Format(-2, “0.0;(0.0)”)                                    ‘Resulta em (2.0) (negativo entre parênteses)
?Format(0, “0.0;(0.0);”zero”)                            ‘Resulta em “zero” (sem as aspas)
?Format(0, “$0.00;($0.00);”)                             ‘Resulta em $0.00   
?Format(100000, “#,##0.00;($#.##0.00);”)       ‘Resulta em $100,000.00
?Format(100000, “0.0E+”)                                ‘Resulta em 1.0E+5


Até a Próxima!!

quinta-feira, 31 de outubro de 2013

FUNÇÕES MATEMÁTICAS DERIVADAS

Funções Matemáticas Derivadas


    Você pode produzir diversas outras funções trigonométricas a partir das funções básicas Sin, Cos, Tan e Atn, empregando a seguinte tabela de fórmulas:





















Até a Próxima!!

FUNÇÃO MATEMÁTICA – SGN

Sgn


    Função empregada para retornar um valor inteiro indicando o sinal de uma expressão, empregando a seguinte sintaxe:

Sgn(Expressão)

Onde,
  • Expressão: argumento obrigatório, que resulta em um número cujo sinal será avaliado, retornado:







Exemplo: Empregue a janela Verificação Imediata para testar o valor retornado pela função Sng:

?Sng(5)        ‘Retorna 1
?Sng(-5)       ‘Retorna -1
?Sng(0)        ‘Retorna 0

Até a Próxima!!

FUNÇÃO MATEMÁTICA – TAN

Tan


   Função empregada para retornar o valor da tangente de um ângulo ou expressão, utilizando a seguinte sintaxe:

Tan(Expressão)

Onde,
  • Expressão: argumento obrigatório, consistindo de qualquer expressão numérica válida.
As seguintes considerações são válidas para a função Tan:
  • Tan calcula a tangente trigonométrica (ou inclinação), consistindo da razão entre o comprimento do lado oposto ao ângulo dividido pelo comprimento do lado adjacente;
  • Para converter o argumento recebido por Tan de radianos para graus, multiplique-o pelo p/180.
Exemplo: Empregue a janela Verificação Imediata para testar a função Tan, digitando:

?Tan(3.14159265358979/4)   ‘Retorna 0.999999999999998 @ 1 (Tangente de 45°)

Até a Próxima!!

FUNÇÃO MATEMÁTICA – SQR

Sqr


   Função empregada para retornar a raiz quadrada de uma expressão, utilizando a seguinte sintaxe:

Sqr(Expressão)

Onde,
  • Expressão: argumento obrigatório, consistindo de um valor numérico maior ou igual a zero;
  • Você pode obter qualquer raiz (cúbica, quadrática...) empregando o operador “^” para elevar um número a uma potência fracionária. Por exemplo, para encontrar a raiz cúbica de 27, empregue 27^(1/3), para raiz quadrática = 27^(1/4) etc.
Exemplo: Empregue a janela Verificação Imediata para verificar o valor retornado pela função Sqr.

?Sqr(144)       ‘Retorna 12
?144^(1/2)      ‘Retorna 12

Até a Próxima!!

FUNÇÃO MATEMÁTICA – SIN

Sin


   Função empregada para retornar o valor do seno de um ângulo ou expressão, utilizando a seguinte sintaxe:

Sin(Expressão)

Onde,
  • Expressão: argumento obrigatório, consistindo de qualquer expressão numérica válida que expresse o valor do ângulo em radianos.
As seguintes considerações são válidas para a função Sin:
  • Sin calcula o valor do comprimento do lado oposto ao ângulo recebido como argumento;
  • O resultado retornado por Sin varia de –1 a 1;
  • Para converter o valor retornado por um ângulo de graus para radianos, multiplique-o por p/180.
Exemplo: Empregue a janela de Verificação Imediata para testar a função Sin, dgitando:

?Sin(0)                                   ‘Retorna 0
?Cos(3.14159265358979/2)  ‘Retorna 1

Até a Próxima!!

FUNÇÃO MATEMÁTICA – RND

Rnd


   Função empregada para gerar um número aleatório, utilizando esta sintaxe:

Rnd[(Expressão)]

Onde,
  • Expressão: argumento opcional que, se fornecido, permite controlar o próximo número aleatório a ser gerado.
As seguintes considerações são válidas para a função Rnd:
  • Variando-se o valor de Expressão, pode-se controlar o resultado dos números aleatórios gerados por Rnd, de acordo com a seguinte tabela:








  • Rnd sempre retorna um número entre 0 e 1 (0 < Rnd < 1);
  • Rnd sempre emprega o último número gerado como semente para o próximo;
  • Fornecendo-se o valor inicial de Expressão, obtém-se sempre a mesma sequência de número aleatórios, pois todas as chamadas sucessivas empregam o número anterior como semente para o próximo;
  • Para alterar a seqüência de número aleatórios tornando-os imprevisíveis, empregue a instrução Randomize antes de chamar a função Rnd;
  • Para repetir a seqüência inicial de números aleatórios, empregando uma mesma semente, utilize Rnd com o argumento –1 e, logo em seguida, empregue a instrução Randomize com um argumento definido;
  • Para produzir números aleatórios inteiros, variando entre uma faixa determinada de dados, empregue a seguinte fórmula:
Int(LimiteSuperior – LimiteInferior) * Rnd + LimiteInferior

Exemplo: Empregue a janela Verificação Imediata para observar como Rnd gera números aleatórios.

?Rnd(-1)      ‘Retorna 0.224007 
?Rnd            ‘Retorna 3.584582E-02
?Rnd            ‘Retorna 8.635235E-02
?Rnd(-1)      ‘Reinicia a sequência
?Rnd            ‘Retorna 3.584582E-02
Randomize   ‘Quebra a sequência
?Rnd             ‘Retorna 0.5306273

Até a Próxima!!

FUNÇÃO MATEMÁTICA – ROUND

Round


   Função empregada para arredondar um valor para um número especificado de casas decimais, utilizando esta sintaxe:

Round(Expressão[,CasasDecimais])

Onde,
  • Expressão: argumento obrigatório, consistindo de um número real ou expressão que resulta em um número real a ser arredondado;
  • CasasDecimais: argumento opcional, indicando quantas casas à direita do separador decimal serão mantidas no arredondamento do número. Se omitido, o número será arredondado para um valor inteiro.
Exemplo: Empregue a janela Imediata para verificar como Round funciona.

?4*Atn(1)                      ‘Retorna o valor Pi = 3.14159265358979
?Round(4*Atn(1),5)      ‘Retorna 3.14159 (arredondado para 5 decimais)

Até a Próxima!!

FUNÇÃO MATEMÁTICA – RANDOMIZE

Randomize


   Instrução empregada para reinicializar a geração de números aleatórios, utilizando esta sintaxe:

Randomize[Expressão]

Onde,
  • Expressão: argumento opcional, consistindo de qualquer expressão numérica válida, empregada como semente para a geração de novos números aleatórios.
As seguintes considerações são válidas para a instrução Randomize:
  • Randomize emprega o valor de Expressão para criar uma nova seqüência de números aleatórios empregando-se a função Rnd;
  • Se Randomize for omitido, a função Rnd (sem argumentos) usará sempre o mesmo número para gerar o primeiro número aleatório usando o último número aleatório gerado como Semente para o próximo número;
  • Se Expressão for omitido, Randomize irá empregar o valor retornado pelo relógio do sistema como semente para a geração de próximos números aleatórios;
  • Para repetir uma seqüência de números aleatórios, empregue a função Rnd, fornecendo-lhe como argumento –1, antes de executar a instrução Randomize.
Exemplo: O próximo exemplo emprega a instrução Randomize para inicializar a rotina de geração de números aleatórios entre 1 e 10, usando como semente o valor retornado pela função Timer (número de segundos decorridos desde de 0:00h):

Function NúmeroAleatório() as Doublé

  Randomize Timer
  NúmeroAleatório = Int(Rnd * 10) + 1)

End Function

Até a Próxima!!

FUNÇÃO MATEMÁTICA – LOG

Log


    Função empregada para calcular o valor do logaritmo neperiano (base e) de uma expressão, utilizando esta sintaxe:

Log(Expressão)

Onde,
  • Expressão: argumento obrigatório, consistindo de qualquer expressão numérica válida maior do que zero.
As seguintes considerações são válidas para a função Log:
  • Logaritmos naturais ou neperianos são aqueles que possuem a base igual a 2.71828182845905;
  • Para calcular o logaritmo em outra base (base n), empregue a seguinte fórmula:
Logn = Log(x)/Log(n)

Exemplo: Experimente digitar estes valores na janela de Verificação Imediata:

?Log(1)              ‘Retorna 0 (zero)
?Log(Exp(1))     ‘Retorna 1 (log de e)

Até a Próxima!!

FUNÇÃO MATEMÁTICA – INT, FIX

Int, Fix


    Função empregadas para retornar a parte inteira de uma expressão, utilizando as seguintes sintaxes:

Int(Expressão)
Fix(Expressão)

Onde,
  • Expressão: argumento obrigatório, consistindo de qualquer expressão numérica válida. Se Expressão resultar no valor Null, Abs retornará Null (propagação do Null).
As seguintes considerações são válidas para as funções Int e Fix:
  • Ambas as funções removem a parte fracionária do número retornado apenas sua parte inteira;
  • Se expressão for um número negativo, a função Int retorna o primeiro número inteiro negativo que seja maior ou igual à expressão Int(-9.6) = -10;
  • Se expressão for um número negativo, a função Fix retorna o primeiro número inteiro negativo que seja maior ou igual à expressão Fix(-9.6) = -9;
  • A função Fix é equivalente à seguinte operação: Sgn(Expressão) * Int(Abs(Expressão)).
Exemplo: Experimente digitar estes valores na janela de Verificação Imediata:

?Fix(9.6)        ‘Retorna 9
?Fix(-9.6)       ‘Retorna -9
?Int(9.6)         ‘Retorna 9
?Int(-9.6)        ‘Retorna 10

Até a Próxima!!

FUNÇÃO MATEMÁTICA – EXP

Exp


    Função empregada para retornar o valor do número e (2.718282 = base dos logaritmos naturais ou também chamado de antilogaritmo) elevado a uma potência (expressão). Empregando esta sintaxe:

Exp(Expressão)

Onde,
  • Expressão: argumento obrigatório, consistindo de qualquer expressão numérica válida <= 709.782712893.
Exemplo: Empregue a janela Verificação Imediata para testar a função Exp, digitando:

?Exp(1)   ‘Retorna o valor de e = 2.71828182845905

Até a Próxima!!

FUNÇÃO MATEMÁTICA - COS

Cos


    Função empregada para retornar o valor do coseno de um ângulo ou expressão, utilizando esta sintaxe:

Cos(Expressão)
  • Expressão: argumento obrigatório, consistindo de qualquer expressão numérica válida que expresse o valor do ângulo em radianos.
As seguintes considerações são válidas para a função Cos:
  • Cos calcula o valor do comprimento do lado adjacente ao ângulo recebido como argumento;
  • O resultado retornado por Cos varia de –1 a 1;
  • Para converter o valor retornado por um ângulo de graus para radianos, multiplique-o por p/180.
Exemplo: Empregue a janela Verificação Imediata para testar a função Cos, digitando:

?Cos(0)                                  ‘Retorna 1
?Cos(3.14159265358979)    ‘Retorna –1

Até a Próxima!!

FUNÇÃO MATEMÁTICA - ATN

Atn


    Função empregada para retornar o valor do arco-tangente (ângulo) de um número ou expressão, utilizando esta sintaxe:

Atn(Expressão)

Onde,
  • Expressão: argumento obrigatório, consistindo de qualquer expressão numérica válida.
As seguintes considerações são válidas para a função Atn:
  • Atn calcula o valor do ângulo adjacente de um triângulo retângulo, esperando receber como argumento a razão entre o comprimento do lado oposto ao ângulo dividido pelo lado adjacente ao ângulo;
  • Atn ou arco-tangente é a função trigonométrica inversa de Tan (tangente) retornando o valor retornado o valor em radianos (variando de -p/2 à + p/2);
  • Para converter o valor retornado por Atn de radianos para graus, multiplique-o por 180/p.
Exemplo: Empregue a janela Verificação Imediata para testar a função Atn, digitando:

?Atn(1)                     ‘Resultado = 0.785398163397448 radianos
?Atn(1)*180/3.115   ‘Resultado = 45.0013272040556 graus
?4*Atn(1)                 ‘Resultado = valor de Pi = 3.14159265358979

Até a Próxima!!

FUNÇÃO MATEMÁTICA - ABS

Abs


    Função empregada para o valor absoluto (módulo) de um número ou expressão, utilizando esta sintaxe:

Abs(Expressão)

Onde,
  • Expressão: argumento obrigatório, consistindo de qualquer expressão numérica válida. Se Expressão resultar no valor Null, Abs retornará Null (propagação do Null).
Exemplo: Experimente digitar estes valores na janela de Verificação Imediata:

?Abs(-1)  ‘Retorna 1
?Abs(1)    ‘Retorna 1

Até a Próxima!!

quarta-feira, 30 de outubro de 2013

FUNÇÃO E INSTRUÇÃO DE CONTROLE DO FLUXO DE EXECUÇÃO – WITH...END WITH

With...End With


    Instrução empregada para executar uma série de instruções dentro de um laço, referenciando uma única vez um objeto, de forma a acessar mais rapidamente suas propriedades e reduzir a sintaxe empregada na codificação,utilizando esta sintaxe

With Objeto

           [Instruções]

End With

Onde,
  • Objeto: argumento obrigatório, indicando o nome do o nome do objeto ou tipo definido pelo usuário cujas propriedades você deseja acessar;
  • Instruções: argumento opcional, indica a existência de instruções que serão executadas dentro do laço With...End With;
  • End With: instrução que determina o fim do laço With. Após esta instrução, quaisquer propriedades do Objeto deverão ser acessadas utilizando-se a sintaxe completa, na forma Objeto.Propriedade.
As seguintes considerações são válidas para a instrução With...End With:
  • With permite tornar mais enxuta a sintaxe de acesso às propriedades do objeto referenciado, diminuindo a quantidade de texto a ser digitado e aproveitando-se das características de AutoListar Membros do VBA (basta pressionar o caractere “.” Dentro de um laço With para que uma lista com todas as propriedades do objeto referenciado pela instrução sejam exibidos para você);
  • Não é possível alterar o objeto referenciado dentro de um laço With;
  • É possível aninhar laços, porém, quando um laço mais interno está sendo executado, propriedades idênticas contidas no objeto do laço With mais externo serão mascaradas, exigindo o emprego da sintaxe completa para o objeto de forma a acessá-las;
  • Jamais empregue a instrução GoTo ou GoSub para sair ou entrar em um laço With...End With. Apesar de o VBA permitir esta abordagem, poderão ocorrer erros inesperados em seu aplicativo.
Exemplo: O exemplo a seguir emprega um laço With...End With para referenciar uma vez uma caixa de listagem no Microsoft Access e alterar suas propriedades.

Sub txtIdade_AfterUpdate()

   With txtIdade

            .BackColor = 0        ‘Fundo preto
            .ForeColor = 256     ‘Letras vermelhas
            .Enabled = False
            .Locked = True


   End With

Até a Próxima!!

FUNÇÃO E INSTRUÇÃO DE CONTROLE DO FLUXO DE EXECUÇÃO – WHILE...WEND

While...End


    Instrução empregada para executar uma série de instruções em laço no código, até que enquanto uma determinada expressão for verdadeira (similar a Do While...Loop), utilizando esta sintaxe:

While Condição

     [Instruções]

Wend

Onde,
  • Condição: argumento obrigatório, constituindo-se de uma expressão numérica ou string que retorne o valor True;
  • Instruções: instruções a serem executadas enquanto Condição for verdadeira;
  • Wend: delimita o fim do laço While...Wend. Quando a condição for false, a próxima linha de código após Wend será executada.
As seguintes considerações são válidas para a instrução While...Wend:
  • Instruções While...Wend podem ser aninhadas indefinidamente;
  • While...Wend funciona de forma idêntica a Do...Loop, excetuando-se pelo fato que Do...Loop permite que as instruções contidas dentro do laço sejam executadas pelo menos uma vez, desde que a instrução While esteja no final do laço (Do...Loop While <condição>). Quando se emprega While ,condição>...Wend, as instruções do laço podem não ser executadas uma única vez, desde que <condição> seja falsa na primeira vez que a instrução While é executada.
Exemplo: O exemplo a seguir demonstra como empregar uma instrução While...Wend para processar um arquivo aberto com ADO – Active Data Objects, registro a registro, até atingir o fim do arquivo, desde que a tabela ou conjunto de registros representado pela variável rs possua pelo menos um registro de dados.

Sub ProcessoRegistro(rs as ADODB.RecordSet)

  Dim intl as Integer
 
While Not rs.EOF

           For intl = 0 to rs.Fields.Count

                  Debug.Print rs.Fields(intl).Name & “=”, rs.Fields(intl).Value

           Next

Wend

End Sub

Até a Próxima!!

FUNÇÃO E INSTRUÇÃO DE CONTROLE DO FLUXO DE EXECUÇÃO – STOP

Stop


    Instrução empregada para suspender temporariamente a execução do código de um procedimento, permitindo o exame do valor de suas variáveis, utilizando esta sintaxe:

Stop

As seguintes considerações são válidas para a instrução Stop:
  • Stop paralisa a execução do código no ponto onde se encontra, da mesma forma empregada quando se estabelece um ponto de interrupção;
  • Stop deve ser utilizada apenas no ambiente de desenvolvimento do VBA. Se a instrução Stop for encontrada em um aplicativo compilado (arquivo.exe), ela se comportará como uma instrução End, provocando a finalização do aplicativo, perda do valor das variáveis e liberação da memória por ele utilizada.
Exemplo: O exemplo a seguir demonstra como paralisar o código de um laço que percorre todos os controles de um formulário, quando o mesmo encontra um botão de comando:

Function PesquisaCtrl()

  Dim ctl as Control

  For Each ctk In Me.Controls

        If TypeOf ctl Is CommandButton Then

            Stop

        End If

   Next

End function

Até a Próxima!!