Postagens

Mostrando postagens de janeiro, 2018

Noções sobre os comandos VBA

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 Imediata. Exemplo : a=Worksheetfunction.Fact(3)?a6 Tipos de dados do VBA 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. Curency: 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 flutuant

Como ativar o VBA

Imagem
Passo 1. No menu “ Arquivo ”, abra as “ Opções ”; Passo 2. Uma janela será aberta. Nela, acesse “ Personalizar faixa de opções ”; Passo 3. Habilite o menu “ Desenvolvedor ”, conforme mostra a imagem, e clique em OK ( Observe que o menu "Desenvolvedor" passa a fazer parte da interface do Excel ); Clique sobre a imagem para ampliar Passo 4. Observe que, agora, o Excel passa a oferecer um novo menu. Em “Desenvolvedor”, recursos do VBA e de criação de Macros estarão ativos a partir de agora; Assista o vídeo também! [embed]https://youtu.be/agr05CbRrpE[/embed]

Como usar uma VBA no Excel

VBA ( V isual B asic for A pplication ), é uma linguagem de programação. O funcionamento do VBA é igual qualquer outra linguagem de programação , ou seja, os comandos são definidos pelo usuário e, caso estejam corretos uma função será executada a partir daquela linha de comunicação entre usuário e programa. No caso do Excel, automatiza e simplifica as planilhas de cálculos, oferecendo ao usuário maior facilidade de navegação entre planilhas, estando elas na mesma pasta ou não. Não haverá mais necessidade de pesquisar dados de uma planilha sem uma referência. Com o VBA é possível encontrar qualquer elemento disponível dentro da planilha. Podem-se criar comandos de validação de dados que retornam resultados específicos de um campo de preenchimento, inclusive quando se trata de acesso a banco de dados externos. O primeiro passo para iniciar a utilização do VBA no Excel é possuir uma planilha preenchida e formatada com os dados pertinentes. Após isso basta ir na guia Desenvolvedor , fa

Código ASCII (de 0 a 128)

 0 &127 32 [space] 64 @ 96 ` 1 &127 33 ! 65 A 97 a 2 &127 34 " 66 B 98 b 3 &127 35 # 67 C 99 c 4 &127 36 $ 68 D 100 d 5 &127 37 % 69 E 101 e 6 &127 38 & 70 F 102 f 7 &127 39 ' 71 G 103 g 8 * * 40 ( 72 H 104 h 9 * * 41 ) 73 I 105 i 10 * * 42 * 74 J 106 j 11 &127 43 + 75 K 107 k 12 &127 44 , 76 L 108 l 13 * * 45 - 77 M 109 m 14 &127 46 . 78 N 110 n 15 &127 47 / 79 O 111 o 16 &127 48 0 80 P 112 p 17 &127 49 1 81 Q 113 q 18 &127 50 2 82 R 114 r 19 &127 51 3 83 S 115 s 20 &127 52 4 84 T 116 t 21 &127 53 5 85 U 117 u 22 &127 54 6 86 V 118 v 23 &127 55 7 87 W 119 w 24 &127 56 8 88 X 120 x 25 &127 57 9 89 Y 121 y 26 &127 58 : 90 Z 122 z 27 &127 59 ; 91 [ 123 { 28 &127 60 < 92 \ 124 | 29 &127 61 = 93 ] 125 } 30 &127 62 > 94 ^ 126 ~ 31 &127 63 ? 95 _ 127 &127

Limitando a entrada de dados

Neste exemplo vamos limitar a entrada de dados via teclado , permitindo que o usuário informe apenas valores que desejamos em um controle TextBox . Usaremos o evento KeyPress do controle TextBox para realizar nossa tarefa. Demos ao nosso controle TextBox o nome de txtNumeros . Permitindo somente a entrada de números: Private Sub txtNumeros_KeyPress(KeyAscii As Integer) Dim strValid As String strValid = "0123456789" If InStr(strValid, Chr(KeyAscii)) = 0 Then KeyAscii = 0 End If End Sub Outra forma de fazer esta restrição pode ser feita com os seguintes códigos equivalentes: Private Sub Text1_KeyPress(KeyAscii As Integer) 'so permite valores numericos If KeyAscii < 48 Or KeyAscii > 57 then Then KeyAscii = 0 endif End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) 'so permite valores numericos Select Case KeyAscii case 48 to 57 'ok case else KeyAscii = 0 E

Trocando o TAB pelo ENTER

Mudar o foco de um controle para outro quando o usuário pressionar a tecla ENTER. Podemos fazer isto da seguinte maneira: Insira o código abaixo no evento KeyPress do formulário e defina a propriedade KeyPreview do formulário para True . Quando o usuário pressiona uma tecla ela é enviada para o controle que tem o foco , a menos que você defina propriedade KeyPreview do formulário como True , isto permite que coloquemos o tratamento para o teclado no Evento KeyPress do formulário ao invés de colocar em cada controle usado no formulário. Private Sub Form_KeyPress(KeyAscii As Integer) 'Esse código permite a mudança de quadro de 'texto através do Enter If KeyAscii = 13 Then 'Se o tipo do controle ativo for TextBox If TypeOf Screen.ActiveControl Is TextBox Then 'Simula o pressionamento da tecla TAB SendKeys "{tab}" 'A linha a seguir evita ouvir um bip KeyAscii = 0 End If End If End Sub O código acima intercepta