excel avanÇado apostila padrÃo

45
Apostila sobre Microsoft Excel Avançado e Programado em VBA

Upload: michel-philipe

Post on 21-Jul-2015

173 views

Category:

Documents


6 download

TRANSCRIPT

Apostila sobre

Microsoft ExcelAvanado e Programado em VBA

Apostila de Excel Avanado e Programado em VBAAtualizao Abril/2005

CONSIDERAES INICIAIS Seja bem vindo Muito obrigado pela sua confiana em nosso trabalho. Nosso mtodo de ensino ser guiado por ensinar a aprender. O Excel um aplicativo composto por uma grande variedade de comandos, porm este software possui uma padronizao que facilita o seu aprendizado. Voc observar vrios comandos no Excel de grande utilidade no cotidiano e em seguida potencializar a eficincia e rapidez utilizando a programao em VBA. Muito se diz sobre a didtica de um professor e pouco sobre a didtica do aluno. Nossa preocupao em ensinar a aprender tem que ser sucedida pela sua preocupao em aprender a aprender. necessrio que voc saiba qual a sua melhor forma de aprender. Observe se o seu aprendizado adquirido atravs da repetio dos exerccios, da concentrao na explicao e/ou atravs das anotaes. A juno da didtica do aluno didtica do professor a menor distncia at o conhecimento. Tendo dvidas, timo!!! A dvida o primeiro ponto do aprendizado. Pergunte e insista at obter resposta. Sanar a dvida o ponto final do conhecimento almejado. Boa sorte! Material Didtico Esta apostila est vinculada aos arquivos presentes no disquete de acompanhamento. Com este sistema se consegue a otimizao do aprendizado evitando o gasto de tempo com a digitao de planilhas-exemplos. Portanto, indispensvel tanto a apostila quanto o disquete. Os exerccios foram elaborados na pretenso de simular o diaa-dia daqueles que necessitam de uma melhor performance para suas planilhas. No disquete voc deve encontrar os seguintes arquivos: Comandos Avanados.xls, PedGeral.dbf, Planilha Geral.xls, Relms.xls, Trabalhando com datas.xls, Arquivo X. Confira se seu disquete est completo. O Excel verso 2000 o software utilizado neste material. Ser comentado em sala as diferenas entre verses as 97 e XP. Excel, Excel Avanado, Excel Programado O Excel um programa com muitos recursos para manipulao de tabelas essencialmente numricas. Este programa desenvolvido pela empresa Microsoft atualmente o editor de planilhas de maior utilizao pelo mercado-de-trabalho. Este mesmo mercado tem exigido de seus colaboradores um maior conhecimento deste software na perspectiva de maior eficincia e agilidade na editorao de planilhas em geral. Devido numerosidade de comandos e complexidade de funes o aprendizado do Excel foi dividido em partes distintas: Excel - Excel Avanado - Programao VBA. Os comandos bsicos do Excel so ensinados para os iniciantes do Excel, e os recursos mais avanados como funes (lgicas, financeiras, estatsticas...), tabelas dinmicas, filtros, subtotais, auditoria e outros recursos mais, so ensinados aos interessados noProf. Eduardo dvila Albuquerque Pgina 2/45

Apostila de Excel Avanado e Programado em VBAAtualizao Abril/2005

aprofundamento em Excel. Existe ainda neste editor de planilhas uma Linguagem1 de Programao embutida e apropriada aos programas. O nome desta linguagem Visual Basic for Applications (VBA). Esta forma2 de programao especialmente desenvolvida para que os usurios dos softwares comuns3 possam criar novos comandos, dentro do prprio programa, facilitando assim a criao dos arquivos em geral. Podemos dizer que para se aprender Excel em sua totalidade, devemos fazer dois cursos, no que seja dois programas, e sim, um programa que divido4 em duas etapas de ensino, O Excel Iniciante e o Excel Avanado/Programado. Existe uma Linguagem de Programao, tambm criada pela empresa Microsoft, chamada de Visual Basic (VB), onde podemos criar os mais diversos tipos de programas. O VB em sua totalidade uma linguagem de programao. O VBA no essencialmente uma linguagem de programao. uma maneira de interferir nos programas. Alguns ousam dizer que o VBA um VB pequenininho. bom saber que todo o aprendizado de VBA, alm de potencializar os programas do Office, serve como base para aprendizado do VB, afinal as linhas de instruo e os comandos so semelhantes. No podemos dizer que um programador em VB tenha a obrigao conhecer VBA, mas caso tenha que conhecer, observar uma enorme facilidade. Uma vantagem do VBA o fato desta forma de programao servir tanto para o Excel como para os outros softwares comuns, sendo assim quem aprende VBA no Excel, com pequenas adaptaes, aprende o VBA para qualquer aplicativo. Concluindo, a melhor definio para o VBA o seu prprio nome: Visual Basic Applications (Visual Basic para aplicativos), uma forma de programao para programas de aplicao. Aprenderemos com esta apostila a dominar o Microsoft Excel, avanado e programado, doravante chamado apenas de EXCEL.

1

Linguagem de Programao uma biblioteca de termos e expresses que utilizamos para criar um programa. caracterstica essencial de um programa funcionar dependendo unicamente do Sistema Operacional.2

O VBA chamado de forma de programao por no possuir todos os requisitos de uma linguagem. No quesito funcionalidade, todos os sistemas em VBA dependem primeiramente do programa tronco (neste caso o Excel) e conseqentemente do Sistema Operacional.3

Softwares comuns so todos os programas populares produzidos em alta escala pelas empresas de desenvolvimento de sistemas. Exemplo de empresas: Microsoft, Corel. Exemplo de softwares comuns: Word, Excel, Access, Corel Draw.4

Esta uma diviso meramente didtica. Prof. Eduardo dvila Albuquerque Pgina 3/45

Apostila de Excel Avanado e Programado em VBAAtualizao Abril/2005

Primeira Parte CAPTULO 1 - COMANDOS AVANADOS Para a melhor explicao dos comandos avanados5 do Excel, utilizaremos alguns arquivos salvos em seu disquete. Para melhor desempenho aconselhvel copiar este disquete para uma pasta. Clique ento em Arquivo, Abrir e localize o arquivo Comandos Avanados. Observe que todas as planilhas contidas nesta pasta de trabalho so semelhantes, a diferena observada exatamente a utilizao de comandos que sero explicados a seguir. No Excel, dizemos que o arquivo gravado uma pasta de trabalho que contm a(s) planilha(s). Formatao No que tange a formatao de uma planilha, consideramos os comandos bsicos como negrito, itlico, tamanho de fonte e outros como entendidos, porm possuem algumas formataes que facilitam e agilizam nosso trabalho. Lembre-se que os comandos de formatao, em sua maioria, necessitam que uma determinada rea da planilha seja selecionada. Na linha 3, os ttulos foram centralizados ocupando o correspondente ao seu espao, enquanto na linha 1 o ttulo geral pode ser mesclado e centralizado ocupando toda a largura da planilha. O comando mesclar e centralizar foi utilizado nos subttulos da linha 2. Na coluna A, Cdigo, foi usado o comando clulas do menu formatar onde os nmeros foram personalizados6 para 0000. Isto significa que o nmero de dgitos do cdigo ser no mnimo 4, mesmo que sejam zeros(0) esquerda. Na coluna C, foi utilizada a formatao condicional, do menu formatar, onde podemos escolher qual formatao ser utilizada de acordo com a condio feita. Veja a imagem abaixo:

Na coluna D, foi usado o estilo moeda e nas colunas referentes porcentagem o estilo porcentagem. Na quantidade apenas o comando centralizar.5

No existe comando avanado oficialmente no Excel, ns qualificamos assim baseado em sua complexidade e grau de utilizao. 6 Usando a Ajuda do Excel procure por formatao de nmeros e observe a utilizao do #. Prof. Eduardo dvila Albuquerque Pgina 4/45

Apostila de Excel Avanado e Programado em VBAAtualizao Abril/2005

Para facilitar a visualizao dos dados na janela do Excel, foi usado o comando congelar painis, menu janela, Este comando deixa sempre visvel em sua janela todos os dados que estejam localizados acima e a esquerda da clula ativa no instante da utilizao deste comando. Observe sua utilidade na planilha. As cores de preenchimento e bordas imprimveis nas clulas so uma forma de melhorar a aparncia de sua planilha. Caso tenha colocado um destes comandos em clulas indevidas pode-se utilizar o comando limpar, no menu editar. possvel escolher o que deseja remover das clulas: tudo, formatos, comentrios... Frmulas simples As frmulas utilizadas nesta planilha podem ser visualizadas na planilha frmulas e funes, da mesma pasta de trabalho, sendo que a primeira frmula de cada coluna est visvel, enquanto as outras esto mostrando apenas o resultado da frmula. As frmulas em geral so adaptveis a linhas e colunas, pois sofrem alteraes ao serem usadas nos campos posteriores , sem perder sua caracterstica inicial. Constri-se uma frmula e, utilizando o recurso de autopreenchimento7, copiamos para as linhas seguintes, sendo que os endereos da frmula so modificados pelo Excel. O valor do imposto foi calculado multiplicando o valor da compra pela porcentagem imposto . De maneira semelhante, encontra-se o valor do frete, e despesas administrativas. Nesta mesma planilha encontraremos outros exemplos de frmulas simples. = VALOR DA COMPRA X PORCENTAGEM Funes Funo SE Vamos imaginar que as peas masculinas so compradas de um fornecedor e as peas femininas de outro fornecedor, e que estes fornecedores esto em distncias diferentes em relao ao local de entrega do produto, no caso sua loja. necessrio que as taxas de frete sejam diferentes: masculina 3%, feminina 4%. Neste caso queremos que o prprio Excel regule a porcentagem que ser adotada. Utilizamos o recurso de funo no seu Excel. Clique no comando funes, menu inserir. Funo SE

7

O auto preenchimento pode ser realizado posicionando a clula mvel sobre o resultado de uma frmula e , logo em seguida, arrastando o sinal de adio localizado no canto direito-inferior da clula ativa para a direo desejada. Podemos tambm dar um clique duplo neste sinal de adio para autopreencher as linhas inferiores. Prof. Eduardo dvila Albuquerque Pgina 5/45

Apostila de Excel Avanado e Programado em VBAAtualizao Abril/2005

Observe que do lado esquerdo podemos escolher o tipo de funo que queremos e do lado direito funo propriamente dita. Observe ainda que na parte inferior exibida uma sintaxe do funcionamento da funo. importantssimo observar esta sintaxe. A BASE DE TODO APRENDIZADO A OBSERVAO. Abaixo uma melhor explicao desta sintaxe:

SE, o nome da funo, seguido do abre parntese. TESTE_LGICO: o que desejamos que seja analisado pelo Excel. Por exemplo: 4=B3, ou B5=50. Quando a comparao relacionada a um texto, este deve ser colocado entre aspas. O teste lgico pode ser dado a um nmero, a um endereo8 ou a um texto. Ao fazer esta anlise o Excel verifica se a expresso no campo teste_lgico verdadeira ou falsa. Valor_se_verdadeiro: Significa o que o Excel deve fazer caso a expresso contida no teste lgico seja verdadeira. Pode ser um nmero, um texto, um endereo e at mesmo uma frmula ou funo. Valor_se_falso: Significa o que o Excel deve fazer caso a expresso contida no teste lgico seja falsa. Pode ser um nmero, um texto, um endereo e at mesmo uma frmula ou funo. No caso desta planilha, veja como ficou a funo:

8

Endereo no Excel a unio da Coluna com a Linha, sendo assim, o endereo da coluna h e da linha 10 H10. O endereo, normalmente, composto primeiramente pela coluna (representado por uma letra), seguido pela linha (representado pelo nmero), este formato chamado de formato A1, porm pode-se fazer modificaes neste formato do endereo. Prof. Eduardo dvila Albuquerque Pgina 6/45

Apostila de Excel Avanado e Programado em VBAAtualizao Abril/2005

Ao utilizar funes usufrumos comandos pr-prontos inclusos no Excel, os quais realizam uma determinada tarefa, Resta ao usurio apenas fornecer as informaes necessrias para a execuo da funo. As funes realizam a tarefa para qual foi pr-determinada utilizando as informaes fornecidas pelos usurios. Elas retornam resultados alcanados na realizao desta tarefa. O comando funes, no menu inserir um assistente de funo. Auxilia na edio e na descoberta de novas funes. Existe o mtodo escrito para as funes. Este mtodo exige habilidade e maior ateno do usurio, mas proporciona agilidade. Observe a funo SE depois de pronta. =SE(C4="M";3%;4%) Tudo isto pode ser digitado diretamente na clula que deseja obter a resposta. O usurio deve se atentar para os seguintes detalhes: O sinal de igualdade no incio da funo. O nome da funo. A colocao dos parnteses e ponto-e-vrgulas. Como esta funo tem a necessidade de informaes fornecidas pelo usurio (argumentos, neste caso 3 argumentos), deve se atentar para o correta informao destes, sabendo que de argumento para argumento a separao e feita atravs de ponto-e-vrgula. Existem argumentos obrigatrios e opcionais, no decorrer dos estudos isto ser identificado. A funo SE importante e muito utilizada nas planilhas com teor de complexidade. Neste exemplo, a mesma funo foi utilizada para os clculos de porcentagem das despesas administrativas. Para visualizar as funes nesta planilha, basta selecionar a clula que contm o resultado da funo. Ser exibida na barra de frmulas a funo em sua maneira escrita. Observe a funo para porcentagem de lucro: = SE ( L4 < 10 ; 30% ; SE ( L4 < 20 ; 20% ; 10%) ) Se Equilbrio menor que 10 ento adote 30% de lucro, seno analise se equilbrio menor que 20, se for adote 20% de lucro, seno o adote 10%. As duas funes acima podem ser analisadas utilizando o portugus estruturado. Observe abaixo: -----------------------------------------------------------------------------Incio se (C4=M) ento escreva 3% seno escreva 4%Prof. Eduardo dvila Albuquerque Pgina 7/45

Apostila de Excel Avanado e Programado em VBAAtualizao Abril/2005

fim do se fim -----------------------------------------------------------------------------Incio se (Ll4= B B = B +1 A= A + B Loop Else A=C+1 C=B If A = C then A=3 C= 1 Do While B > A A=A+1 Loop End If End if FIM Para acompanhar os comandos acima aconselhvel fazer uma tabela de acompanhamento de comandos linha a linha. CAPTULO 10 INCLUSO DE DADOS E EMISSO DE BOLETAS No seu disquete existe um arquivo chamado Arquivo X. Neste arquivo voc encontra vrias planilhas. Acesse a planilha Tela Principal e observe os botes de comando e as macros j criadas neste exerccio.

Prof. Eduardo dvila Albuquerque

-

Pgina 41/45

Apostila de Excel Avanado e Programado em VBAAtualizao Abril/2005

Comentrio sobre as macros j criadas Executando as rotinas atravs da tecla F8, tente entender as funes de cada linha das macros existente no arquivo X. Somente com a compreenso individual de cada linha podemos entender a funcionalidade da macro. A macro abaixo inclui no banco de dados o Nome do Cliente. Os outros dados do Cliente so inseridos por macros semelhantes. Todas as linhas da macro IncluirNome foram feitas atravs do gravador. Sub IncluirNome() Range("B4").Select Selection.Copy Sheets("BASE DE DADOS").Select Range("A1").Select Selection.End(xlDown).Select ActiveCell.Offset(1, 0).Range("A1").Select ActiveSheet.Paste Sheets("TELA PRINCIPAL").Select Application.CutCopyMode = False Range("A2:B2").Select End Sub As linhas, End(xlDown).Select - Selecione a ltima clula no-vazia desta coluna. Neste momento o Excel abaixa a clula at encontrar uma clula vazia, encontrando ele seleciona a primeira anterior a esta. Como j criamos uma macro para impedir os espaos em branco, posso acionar este comando na primeira linha com a certeza que selecionarei a ltima linha de dados. ActiveCell.Offset(1, 0).Range("A1").Select - Esta linha posiciona uma linha abaixo da linha atual. Esta linha de instruo devido ao cone Referncia Relativa. Este cone se encontra na barra de ferramentas Parar Gravao. Este comando, a partir da clula ativa, cria uma espcie de planilha virtual iniciando em (linhas, Colunas) depois clula corrente e pede para selecionar a clula A1 referente a esta planilha virtual. A macro IncluirImprimir inclui a Letra N na coluna correspondente a Impresso, informando ento que a boleta correspondente ainda No foi impressa. --------------------------------------------------------------------------------------Sub Incluir( ) IncluirNome IncluirRua IncluirBairro IncluirCidade IncluirUFProf. Eduardo dvila Albuquerque Pgina 42/45

Apostila de Excel Avanado e Programado em VBAAtualizao Abril/2005

IncluirDTCompra IncluirValor IncluirDTVenc IncluirImprimir End Sub Sem precisar do gravador, criou-se a macro acima para executar as outras macros relativas a incluso dos dados. A macro chamada de Incluir apenas chama execuo outras macros de incluso de dados. --------------------------------------------------------------------------------------Sub PreencherVazios() Sheets("BASE DE DADOS").Select Range("A1").Select Selection.ClearContents Selection.CurrentRegion.Select Selection.SpecialCells(xlCellTypeBlanks).Select Selection.FormulaR1C1 = "****" Range("A1").Select Selection.Value = "NOME" Selection.End(xlDown).Select Sheets("TELA PRINCIPAL").Select Range("A2:B2").Select End Sub A macro PreencherVazios apenas inseri **** nas clulas vazias da nossa base de dados. Pode acontecer que nenhuma clula esteja vazia, com isto, o comando Selection.SpecialCells(xlCellTypeBlanks).Select emitir uma mensagem de erro. Apagando o contedo de A1 [ Range("A1").Select , Selection.ClearContents ] garantimos que pelo menos A1 estar vazia. Assim a macro executa normalmente e no final devolve para a clula A1 o seu contedo [Selection.Value = "NOME"] --------------------------------------------------------------------------------------Private Sub CommandButton1_Click() botao = MsgBox("Confirma Impresso de Boletas?", vbOKCancel) If botao = vbOK Then 'Imprimir End If

Prof. Eduardo dvila Albuquerque

-

Pgina 43/45

Apostila de Excel Avanado e Programado em VBAAtualizao Abril/2005

A linha Private Sub CommandButton1_Click() indica que uma macro privada. S ser executada caso o ocorra um Clique no Boto de Comando. A instruo MsgBox("Confirma Impresso de Boletas?", vbOKCancel) exibi um caixa de mensagem na tela com a pergunta, sendo que esta caixa ir conter o boto OK e Cancelar. A varivel Botao receber a mensagem vbOK quando o usurio clicar em Ok. --------------------------------------------------------------------------------------Private Sub Botaodeinclusao_Click() Incluir PreencherVazios End Sub O boto de incluso chama pela Sub Incluir, que por sua vez, chama as rotinas de incluso de dados. sempre aconselhvel o quebrar uma programao extensa em vrios procedimentos menores e de fcil compreenso. Depois de Executa as funes de incluso de dados a macro Incluir ter sido executada, logo em seguida, a macro PreencherVazios, impedindo que algum campo fique vazio. --------------------------------------------------------------------------------------Sub Imprimir() Dim Celula As String Dim Coluna As Integer Dim Linha As Integer Worksheets("Base de Dados").Select Linha = 2 Coluna = 9 Celula = Cells(Linha, Coluna).Value Do While Celula "" If Celula = "N" Then neste espao devemos fazer as instrues de Copiar os dados, ir para a planilha correspondente a boleta a ser impressa, posicionar a clula, Colar e Imprimir e voltar para esta planilha chamada de base de dados. Cells(Linha, Coluna).Value = "S" End If Linha = Linha + 1Prof. Eduardo dvila Albuquerque Pgina 44/45

Apostila de Excel Avanado e Programado em VBAAtualizao Abril/2005

Celula = Cells(Linha, Coluna).Value Loop End Sub A macro imprimir uma macro criada sem o gravador. Vamos interpret-la passo a passo em sala de aula. Macros diferentes podem fazer as mesmas funes. Esta macro poderia ser criada com o auxlio do gravador e depois sofrer as alteraes necessrias. ---------------------------------------------------------------------------------------

CONCLUSO Parabns!!! Voc acaba de concluir os estudos sobre Excel Avanado e Programado em VBA. certo que este material no um manual completo de auto-ajuda, mas com toda certeza , uma referncia importante para consultas. Lembre que suas aulas foram totalmente baseadas nesta apostila, o que facilita para voc relembrar os ensinamentos transmitidos. Cuide bem de seu material, daqui em diante ele ser o seu ASSISTENTE. Para completar seu aprendizado, observe as bibliografias abaixo: JACOBSON, R. Excel 2002 Visual Basic for Applications. Traduo de Joaquim Pinheiro Nunes da Silva. Reviso tcnica de Marcelo Rosin Citrangulo. So Paulo: Makron Books, 2002. (Total de 326 pginas) ROMAN, S. Desenvolvendo Macros no Excel. Traduo de Savannah Hartmann. Reviso tcnica de Adilson de Souza Dias. Rio de Jadneiro: Cincia Moderna, 2000. (total de 569 pginas) A BBLIA DO EXCEL Suplemento Literrio/Tcnico da Revista INFO Exame. (202 pginas) WANG, W. Visual Basic 6 para Dummies.Traduo de Ana Beatriz Rodrigues e Priscilla Martins Celeste. Consultor editorial Fernando Barcellos Ximens e Kpmg Consulting. Rio de Janeiro: Campus, 2. ed., 1999. (total de 532 pginas)

Prof. Eduardo dvila Albuquerque

-

Pgina 45/45