Mostrando postagens com marcador VBA. Mostrar todas as postagens
Mostrando postagens com marcador VBA. Mostrar todas as postagens

terça-feira, 10 de março de 2015

VBA

VBA

Muitas e muitas vezes você já deve ter se perguntado sobre o que de fato é, ou para que serve uma VBA (ou Visual Basic for Application). Pois bem, o VBA pode assustar aparentemente com seus muitos comando e códigos, mas não é tão difícil quanto possa parecer. Estes comandos e códigos, por sua vez, permitem criar uma espécie de programação a fim de encontrar uma solução de maneira mais significativa em seus formulários e objetos.

ADICIONANDO A ABA DESENVOLVEDOR

De acordo com as configurações do Excel, é possível adicionarmos mais uma aba junto as demais. Esta aba, chamada de Desenvolvedor, é praticamente uma extensão da opção Macros, localizada na abaExibição, e serve para adicionar, editar e configurar Macros (ou VBAs). Então, para adicionarmos esta aba ao menu de ferramentas, devemos proceder da seguinte forma:
1 - Vá ao botão do Office, localizado no canto superior esquerdo, e clique em Opções do Excel.
2 - Na janela de opções, marque Mostrar guia Desenvolvedor na Faixa de Opções e confirme em OK.
3 - E perceba que a aba Desenvolvedor estará junto as demais.

NOÇÃO SOBRE OS COMANDOS DO VBA

Antes de pensar em usar algum comando VBA, devemos ter algumas noções básicas referente aos objetos usados com mais frequência:
  • Range: refere-se a uma célula particular do Excel. Exemplo: Range('a2').Value=3
  • Cells: uma outra maneira de se referir a uma célula particular do Excel. Exemplo: Cells(2,2).Value=6
  • Worksheets: refere-se a uma planilha, objeto particular do Excel. Exemplo: Worksheets('Plan3').Select
  • Worksheetfunction: chama as funções disponível do Excel. Exemplo: Worksheetfunction.Fact(3)
  • MsgBox: mostra uma mensagem no Excel. Exemplo: MsgBox Application.Name
  • ?: mostra um resultado, variável, etc, Na Janela ImediataExemplo: a=Worksheetfunction.Fact(3)?a6

TIPOS DE DADOS DO VBA

Veja agora tipos de dados contidos nos VBAs a fim de poder identificá-los quando encontrares algumas formulações prontas.
  • Byte: armazena inteiros sem sinais entre 0 e 225.
  • Boolean: armazena Verdadeiro ou Falso.
  • Integer: armazena inteiros entre -32.768 e 32.767.
  • Long: armazena inteiros entre -2.147.483.648 e 2.147.483.647.
  • Cuurency: armazena inteiros na escala de 10.000 entre -922.337.203.685.477,5808 e .337.203.685.477,5807.
  • Single: armazena números de ponto flutuante entre -3,402823E38 e -1,401298E-45 para valores negativos, e entre 1,401298E-45 e 3,402823E38 para valores positivos.
  • Double: armazena números de pontos flutuantes entre -1,79769313486231E308 e -4,94065645841247E-324 para valores negativos, e entre 4,94065645841247E-324 e 1,79769313486232E308 para valores positivos.
  • Date: armazena datas (números de pontos flutuantes) entre 1° de Janeiro de 100 e 31 de Dezembro de 9999 e tempo entre 0:00:00 e 23:59:59.
  • String: armazena string de caracteres. Existem duas espécies de strings:
    • Strings de tamanhos variáveis: podem conter até 2.000 milhões (2^31) de caracteres.
    • Strings de tamanho fixo: podem conter entre 1 e 64 KB (2^16) caracteres.
  • Object: armazena endereços que se referem a outros objetos.
  • Variant (predeterminada):  tipo de dado default para cada variável que não não é declarada como de qualquer outro tipo.
  • User defined type: tipo de dado criado pelo usuário.

USANDO O EDITOR DO VISUAL BASIC

Este editor serve para gravar, adicionar e configurar projetos VBA. Além de uma vasta gama de outras opções, é possível optar por qual planilha se quer introduzir a VBA, tanto como ajustar suas propriedades,Alfabético e Categorizado.
A internet nos disponibiliza hoje infinitos exemplos e comandos de VBA, voltados à diversas finalidades. Portanto, para que entendas o funcionamento desta ferramenta, iremos fazer uma tarefa bem simples. Para isso, suponha que desejamos que venha uma caixa de mensagem (MsgBox) ao usuário, quando este alterar uma célula, avisando-o que a mesma foi modificada. Veja como proceder:
1 - Primeiramente, devemos gravar uma pequena Macro, para isso clique na primeira célula da planilha e selecione Gravar Macro na aba Desenvolvedor;
Dê o nome de Alterar para a Macro e confirme;
Sem clicar em nenhum outro lugar da tela, apenas digite qualquer letra e dê um ENTER; após, clique emParar de Gravar.
2 - Selecione a célula editada da planilha e, também na aba Desenvolvedor, selecione Visual Basic.
3 - Irá abrir uma janela do Visual Basic. Nela, dê um duplo clique em Plan1 na lista ao lado e, caso não apareça automaticamente, selecione nos ícones de seleção em cima da caixa de texto, Woorksheet no primeiro, e Change no segundo - conforme a imagem.
Observação: ao ser selecionado Woorsheet no primeiro ícone de seleção, será adicionado automaticamente a opção SelectionChange ao segundo, junto com seu respectivo comando; porém, queremos a opção que contenha somente Change, portanto, deve-se trocá-la e excluir o comando não nos serve.
4 - Faça com que a caixa de texto fique com o seguinte comando:


PrivateSub Worksheet_Change(ByVal Target As Range)
    MsgBox "A célula " & Target.Address & " foi alterada!"
End Sub

Onde: o nome do Objeto (Worksheet) seguido de um sinal de underline (_) e o nome do evento(Change), correspondem a denominação do comando; os argumentos seguintes (ByVal Target As Range) são os parâmetros de entrada do evento com os quais um programador possa trabalhar; Sub e End Sub, significam, respectivamente, o início e fim da ação (devem estar presentes em todos os comando que fores realizar).
5 - Depois de colocado o comando, clique no ícone , localizado acima da caixa de texto, este é responsável por executar a Macro. Na janela que surgir selecione a Macro criada anteriormente e execute-a.
6 - O comando será executado a partir da macro selecionada, e lhe retornará a mensagem de célula alterada para a primeira célula da planilha que foi modificada.
7 - Clique em OK e voltarás para a página do Visual Basic. Pronto o comando, pode fechá-la. Agora, basta adicionar qualquer dado à planilha e verás, que a cada célula editada, retornará a mensagem de alteração da mesma.

segunda-feira, 9 de março de 2015

O que é Excel SUBTOTAL fórmula e cinco razões pelas quais você deve usá-lo

Hoje vamos aprender fórmula Excel SUBTOTAL e 5 razões bonitas por que você deve experimentá-lo.
SUBTOTAL fórmula é usada para descobrir o subtotal de um determinado intervalo de células. Você dá SUBTOTAL duas coisas - (1) uma série de dados (2) tipo de subtotal. Em troca, SUBTOTAL lhe dará o subtotal para esses dados.
Ao contrário de soma, média, etc. CONTAR que fazer uma coisa e apenas uma coisa, SUBTOTAL é versátil . Você pode usá-lo para resumir, média, contagem um grupo de células.
Aqui está a sintaxe SUBTOTAL:
= SUBTOTAL (TIPO DE TOTAL, conjunto de células)
Excel Syntax Formula Subtotal
Assim, por exemplo, = SUBTOTAL (9, A1: A10) nos dará a soma de todos os valores em A1:. A10, desde que nenhum são filtradas (mais sobre essa coisa de filtragem abaixo) Isso é porque "9" significa SUM(soma) em jargão SUBTOTAL. Se você quer uma contagem de valores, você pode usar "2".
Humm, que soa como qualquer outra fórmula, o que é tão especial?
Bem, SUBTOTAL não é apenas qualquer outra fórmula, é um especial. Nós não precisamos de ser mestres Jedi para dizer que a força é com SUBTOTAL.
Aqui eu listei 5 razões pelas quais esta é uma fórmula especial.

1) Você pode usar SUBTOTAL para encontrar soma dos valores filtrados

Eu acho que o título diz tudo. Veja este exemplo para saber mais.
Formula Subtotal Com Filtros

2) Você pode usar SUBTOTAL ignorar valores em linhas ocultas

Muitas vezes, usamos ocultar linhas recurso no excel para remover itens irrelevantes do ponto de vista. Você pode usar SUBTOTAL com códigos de tipo especiais para que os valores em linhas ocultas são negligenciados.
Para, por exemplo. SUBTOTAL (9, A1: A10) localiza a soma dos valores nas células A1: A10 onde, como SUBTOTAL (109, A1: A10) vai encontrar soma dos valores em apenas linhas visíveis.

3) Você pode usar SUBTOTAL para resumir dados dinamicamente

Desde o "tipo do total" é um parâmetro para SUBTOTAL, podemos usar isso para fazer um resumo dinâmico como este:
Subtotal Resumo Dinâmico
Isto é muito útil em dashboards ou quando você não tem espaço para tudo.

4) Se houver subtotais na faixa SUBTOTAL, eles vão ser negligenciada

Subtotals Dentro Subtotal Formula
Esta é uma característica do assassino de subtotal. Se você tiver quaisquer fórmulas SUBTOTAL no intervalo de entrada de outra fórmula SUBTOTAL, esses valores são negligenciados, de modo que a dupla contagem é evitado. Precisa dizer mais?

5) Você pode criar automaticamente subtotais usando ferramentas de dados Excel

Enquanto fórmula SUBTOTAL olha o tipo de puro, escrevê-las quando tiver dados tabulares pode ser uma chatice. Mas você não precisa se preocupar com isso. No menu Dados / fita do Excel, há uma opção no chamado "Subtotais" que automatiza todo o processo para você.
Automatic Subtotals Excel
Para gerar subtotais automáticos, basta selecionar o seu tabela de dados, vá a fita de Dados (ou menu) e clique em "Subtotais". Isto irá iniciar um diálogo Subtotal onde você pode facilmente especificar o tipo de agrupamento total que você quer.
Simples assim!