A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Autor: Fernando de Carvalho Navarro Apresentação criada por Fernando de Carvalho Navarro

Apresentações semelhantes


Apresentação em tema: "Autor: Fernando de Carvalho Navarro Apresentação criada por Fernando de Carvalho Navarro"— Transcrição da apresentação:

1 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Apresentação criada por Fernando de Carvalho Navarro Fernando.c.navarro@gmail.com ' Por Carlos Eduardo Guimarães ' carloseduardo.excel@gmail.com Function CreateFileList(FileFilter As String, _ IncludeSubFolder As Boolean) As Variant ' returns the full filename for files matching ' the filter criteria in the current folder Dim FileList() As String, FileCount As Long CreateFileList = "" Erase FileList If FileFilter = "" Then FileFilter = "*.*" ' all files With Application.FileSearch.NewSearch.LookIn = CurDir.Filename = FileFilter.SearchSubFolders = IncludeSubFolder.FileType = msoFileTypeAllFiles If.Execute(SortBy:=msoSortByFileName, _ SortOrder:=msoSortOrderAscending) = 0 Then Exit Function Redim FileList(.FoundFiles.Count) For FileCount = 1 To.FoundFiles.Count FileList(FileCount) =.FoundFiles(FileCount) Next FileCount.FileType = msoFileTypeExcelWorkbooks ' reset filetypes End With CreateFileList = FileList Erase FileList End Function Sub TestCreateFileList() Dim FileNamesList As Variant, i As Integer 'ChDir "C:\My Documents" ' activate the desired startfolder for the filesearch FileNamesList = CreateFileList("*.*", False) ' performs the filesearch, includes any subfolders ' present the result Range("A:A").ClearContents For i = 1 To UBound(FileNamesList) Cells(i + 1, 1).Formula = FileNamesList(i) Next i End SubDezembro/2013 Excel 2007 VBA 6.3 Excel 2010 VBA 7.0 Excel 2013 VBA 7.1

2 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Operadores e Variáveis Operadores Unidades Variáveis Constantes Expressões 2

3 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Operadores Aritméticos e de Texto Soma: + Subtração: - Multiplicação: * Divisão: / Quociente (divisão inteira): \ Resto: Mod Exponenciação: ^ Concatenação de Texto: & 3

4 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Operadores de Comparação Expressões sempre retornam True (Verdadeiro) ou False (Falso) Operadores de comparação:  = (igual)  > (maior que)  < (menor que)  >= (maior ou igual a)  <= (menos ou igual a)  <> (diferente de)  Is (Usado para comparar duas variáveis de referência a objeto)  Like (Usado para comparar duas sequências de caracteres) Exemplos de expressões:  A > 0  Salário_Bruto >= 3500  Status <> "Reprovado" 4

5 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Operadores Lógicos Expressões sempre retornam True (Verdadeiro) ou False (Falso) Operadores Lógicos:  Not (Não): Executa uma negação lógica de uma expressão;  And (E): Executa uma conjunção lógica em duas expressões;  Or (Ou): Executa uma disjunção lógica em duas expressões;  Xor (Ou exclusivo): Executa uma exclusão lógica em duas expressões. 5

6 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Tabela da Verdade Expressão 1OperadorExpressão 2Resultado TrueAndTrue AndFalse AndTrueFalse AndFalse TrueOrTrue OrFalseTrue FalseOrTrue FalseOrFalse TrueXorTrueFalse TrueXorFalseTrue FalseXorTrue FalseXorFalse —NotTrueFalse —NotFalseTrue 6 True se todas forem True True se ao menos uma for True True se apenas uma for True

7 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Exemplos de Expressões Lógicas Definições iniciais:  A = 10, B = 20, C = 0 Exemplos:  Not A > 0  A > 0 And B > 0  A = 0 Or B > 0 Or C = 0  A > 10 And B = 0 Or C = 0  A > 10 And (B = 0 Or C = 0)  A > 0 Xor B = 0  A > 0 Xor B > 0 7 False True False True False

8 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Tipos de Dados Números inteiros:  100 -5 0 1200 Números decimais fracionários:  Notação americana (ponto decimal), sem separador de milhar  12.25 0.12345 -45.2.15 -.125 1925.653 Texto:  "Aprovado" "SP" "Produto 1"  "Av. das Árvores nº 1000, cj. 92" Data e Hora:  Delimitador # (muitas operações aceitam aspas duplas)  #25/12/2012# #14:21:46# #17/feb/2014#  #06/05/2013# #sep-7-2008 14:25:37# 8

9 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Tipos de Dados – Números Inteiros Byte (1 byte)  Valores: 0 a 255 Integer (2 bytes)  Valores: -32.768 a 32.767 Long (4 bytes)  Valores: -2.147.483.648 a 2.147.483.647 LongLong (8 bytes, válido para plataformas de 64 bits)  Valores: -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 9

10 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Tipos de Dados – Números Decimais Single (4 bytes)  Valores negativos: –3,402823 × 10 38 a –1,401298 × 10 –45  Valores positivos: 1,401298 × 10 –45 a 3,402823 × 10 38 Double (8 bytes)  Valores negativos: –1,79769313486231 × 10 308 a –4,94065645841247 × 10 –324  Valores positivos: 4,94065645841247 × 10 –324 a 1,79769313486232 × 10 308 Currency (8 bytes)  Valores: –922.337.203.685.477,5808 a 922.337.203.685.477,5807 Decimal (14 bytes)  Valores inteiros: ±79.228.162.514.264.337.593.543.950.335  Valores decimais: ±7,9228162514264337593543950335 com 28 casas decimais à direita  Menor nº diferente de zero: ±0,0000000000000000000000000001 10

11 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Tipos de Dados – Outros Tipos Boolean (2 bytes)  Valores: TRUE ou FALSE Date (8 bytes)  Valores: de 1 de janeiro de 100 a 31 de dezembro de 9999 String (10 bytes + comprimento variável da sequência)  Valores: de 0 a aproximadamente 2 bilhões de caracteres String (comprimento fixo da sequência)  Valores: de 1 a aproximadamente 65.400 caracteres Object (4 bytes)  Valores: qualquer referência a um objeto Variant (16 bytes para números)  Valores: qualquer valor numérico até o intervalo de um Double Variant (22 bytes + comprimento da sequência de caracteres)  Valores: O mesmo intervalo de String de comprimento variável 11

12 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Variáveis São lugares da memória do computador onde são armazenados dados enquanto o programa está rodando e podem ter seu valor alterado. Regras de nomeação:  Letras, números e alguns caracteres de pontuação, porém o primeiro caractere deve ser uma letra.  Comprimento máximo de 255 caracteres.  Não é permitido: espaço, ponto, vírgula, #, $, %, &,, =, ou !.  É permitido o uso de letras acentuadas.  Não são permitidos nomes que coincidam com palavras reservadas pelo VBA: End, Loop, Sub, Range, Sheet, Row, Selection, etc.  O VBA não faz distinção entre letras maiúsculas e minúsculas. Portanto, os nomes Taxa, taxa ou TAXA referem-se à mesma variável. 12

13 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Variáveis Atribuição de valor:  Variável = valor Exemplos:  SalárioBruto = 10000  Descontos = 1350.25  SalárioLíquido = SalárioBruto – Descontos  Nome = "Fulano de Tal"  DataValidade = #20/jul/2013# Variáveis contadoras (incremento fixo):  i = i + 1  Linha = Linha + 2 Variáveis acumuladoras (incremento variável):  Soma = Soma + ValorAtual 13

14 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Declaração Explícita de Variáveis Instruções: Dim, Static, Private, Public Sintaxe:  Dim variável As Tipo Exemplos:  Dim Ano As Integer  Dim i As Byte, j As Integer  Dim População As Long  Dim Taxa As Single, VendaLíq As Currency  Dim x As Integer, y As Long, z As Double  Dim Nome As String, Endereço As String  Dim Código_Cliente As Integer, Estado As String*2, _ Cidade As String, Data_Admissão As Date  Dim Entrega_Urgente As Boolean  Dim Entrada 14

15 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Escopo das Variáveis Módulo 1 Sub Proc1() Dim a, b, c... a = b + c... End Sub Sub Proc1() Dim a, b, c... a = b + c... End Sub Sub Proc2() Static x, y, z... x = 10 y = 20 z = y - x End Sub Sub Proc2() Static x, y, z... x = 10 y = 20 z = y - x End Sub Procedimento (Macro) Módulo 2 Dim i, j, k Private d1, d2, d3 Dim i, j, k Private d1, d2, d3 Sub Proc3() Dim a, b, c... a = 100 i = 1... End Sub Sub Proc3() Dim a, b, c... a = 100 i = 1... End Sub Sub Proc4() Static x, y, z... x = 0 j = i + d1 v1 = x + j... End Sub Sub Proc4() Static x, y, z... x = 0 j = i + d1 v1 = x + j... End Sub Privativo (Módulo) Módulo 3 Public v1, v2, v3 Sub Proc5() Dim a, b, c... a = b + c v2 = v1 + 1... End Sub Sub Proc5() Dim a, b, c... a = b + c v2 = v1 + 1... End Sub Sub Proc6() Static x, y, z... x = v1 + y z = v2 - y v3 = x + z End Sub Sub Proc6() Static x, y, z... x = v1 + y z = v2 - y v3 = x + z End Sub Público (Projeto) 15

16 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Constantes São locais da memória onde são armazenados dados enquanto o programa está rodando e não podem ter seu valor alterado. Sintaxe para declaração e atribuição de valor:  Const Constante As Tipo = Valor Exemplos:  Const Pi As Single = 3.1416  Const Sigla As String = "SP"  Const Feriado_Independência As Date = #1-sep-2014#  Const Mens As String = "Olá", Valor As Double = 3.4567 Constantes predefinidas:  Visual Basic: vbGreen, vbTrue, vbCrLf …  Excel: xlLeft, xlRight, xlVisible, xlNone, xlPie …  Quebra de linha dentro do texto: vbCrLf 16

17 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Escopo das Constantes Módulo 1 Sub Proc1() Const a…... x = a... End Sub Sub Proc1() Const a…... x = a... End Sub Sub Proc2() Const b…... y = b... End Sub Sub Proc2() Const b…... y = b... End Sub Procedimento (Macro) Módulo 2 Private Const i… Sub Proc3() Const a…... x = a y = i... End Sub Sub Proc3() Const a…... x = a y = i... End Sub Sub Proc4() Const b…... x = 0 y = b z = x + i + v1... End Sub Sub Proc4() Const b…... x = 0 y = b z = x + i + v1... End Sub Privativo (Módulo) Módulo 3 Public Const v1… Sub Proc5() Const a…... x = a y = v1... End Sub Sub Proc5() Const a…... x = a y = v1... End Sub Sub Proc6() Const b... x = v1 + y z = b - y... End Sub Sub Proc6() Const b... x = v1 + y z = b - y... End Sub Público (Projeto) 17

18 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Atribuição de Referência a um Objeto Sintaxe:  Dim Variável_objeto As Tipo_de_objeto  Set Variável_objeto = Objeto Exemplo: Sub Teste() ' Este procedimento usa um objeto repetidas vezes: ActiveCell.CurrentRegion.Offset(1, 0).Select ActiveCell.CurrentRegion.Offset(1, 0).Font.Bold = True ActiveCell.CurrentRegion.Offset(1, 0).Font.Name = "Arial" ActiveCell.CurrentRegion.Offset(1, 0).Font.Size = 12 ActiveCell.CurrentRegion.Offset(1, 0).Value = 0 End Sub 18

19 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Atribuição de Referência a um Objeto (cont.) As instruções precisam estar na sequência. Exemplo sem atribuição de referência, usando a Estrutura With... End With : Sub Teste1() ' Este procedimento usa múltiplas ações sobre o objeto With ActiveCell.CurrentRegion.Offset(1, 0).Select.Font.Bold = True.Font.Name = "Arial".Font.Size = 12.Value = 0 End With End Sub 19

20 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Atribuição de Referência a um Objeto (cont.) As instruções não precisam estar na sequência. Exemplo com atribuição de referência pelas instruções Dim e Set : Sub Teste2() ' Este procedimento usa atribuição de referência ao objeto Dim Área As Range Set Área = ActiveCell.CurrentRegion.Offset(1, 0) Área.Select Área.Font.Bold = True Área.Font.Name = "Arial" Área.Font.Size = 12 Área.Value = 0 End Sub 20

21 Autor: Fernando de Carvalho Navarro E-mail: fernando.c.navarro@gmail.com Múltiplas Ações Sobre um Mesmo Objeto (cont.) Exemplo com atribuição de referência e uso da Estrutura With... End With : Sub Teste3() ' Este procedimento usa múltiplas ações num objeto Dim Área As Range Set Área = ActiveCell.CurrentRegion.Offset(1, 0) With Área.Select.Font.Bold = True.Font.Name = "Arial".Font.Size = 12.Value = 0 End With End Sub 21


Carregar ppt "Autor: Fernando de Carvalho Navarro Apresentação criada por Fernando de Carvalho Navarro"

Apresentações semelhantes


Anúncios Google