Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Lições de VBA do Excel, Notas de estudo de Microsoft Excel

Macro Excel

Tipologia: Notas de estudo

2010
Em oferta
60 Pontos
Discount

Oferta por tempo limitado


Compartilhado em 19/06/2010

fabricio-bizetto-7
fabricio-bizetto-7 🇧🇷

4.7

(10)

8 documentos

1 / 398

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Bertolo Lições de VBA do Excel 1
Lições de VBA
do Excel
225 225 159
222 222 189
204 204 153
238 238 201
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64
Discount

Em oferta

Pré-visualização parcial do texto

Baixe Lições de VBA do Excel e outras Notas de estudo em PDF para Microsoft Excel, somente na Docsity!

Bertolo Lições de VBA do Excel 1

Lições de VBA

do Excel

Bertolo As Fases do Curso 2

O Excel é um programa que tem um grande potencial, mas a maioria do pessoal o maneja de forma simples, utilizando somente as suas opções básicas. Porém há algo muito importante que tenho a lhes dizer. O Excel conta com uma linguagem

muito poderosa chamada Visual Basic , ou melhor, somente com uma parte da linguagem, mas que permite resolver os problemas mais facilmente. Porém, devemos aprender a programá-lo e para isso é que existe este curso. As pessoas poderiam dizer que este curso é de um nível muito alto, e talvez o seja, mas é fácil de aprender, já que se manipularão as coisas termos simples, e eu gosto de falar com palavras que todo mundo entenda, por isso o torna mais fácil. A programação empregada neste este curso ou as estruturas que aparecerão são criadas pelo próprio aplicativo, já que para manejar a programação de Visual Basic do Excel é necessário ter muita criatividade, cada pessoa pode criar estruturas diferentes, mas que trabalhem de forma igual. Assim mãos àobra e divirtam-se!

Bertolo As Fases do Curso 4

Saudação

Entre no maravilhoso mundo do VBA (macros) com estas 29 lições. Não somente a linguagem de programação para desenvolver macros ( Visual Basic for Application ou VBA ) é fácil para aprender, mas o seu ambiente de desenvolvimento é extremamente amigável para o usuário. Desde 1997, você pode desenvolver muito mais que comandos de macro (macros) com VBA. O VBA é para todo mundo. Ele é uma linguagem muito simples e projetada para os USUÁRIOS. Com o VBA você pode desenvolver pequenos procedimentos (10 linhas ou menos) que lhe pouparão um monte de tempo, eliminando tarefas repetitivas. Você também pode desenvolver programas complexos e poderosos por uma fração do preço que ele poderia lhe custar para conseguí-los desenvolvidos por especialistas em computação. A experiência tem me mostrado em incontáveis vezes que certas análises e relatórios sofisticados SOMENTE podem ser desenvolvidos com o Excel e o VBA. Isto é porque o Excel é o programa de análise e relatório mais usado no mundo.

Divirta-se

Bertolo Fase #1: Desenvolvendo Procedimentos VBA em Excel 5

Fase # 1: Desenvolvendo Procedimentos

(Macros) VBA em Excel.

Lição 1: Introdução ao VBA do Excel - Lição 2: Vocabulário das Macros VBA do Excel - Lição 3: O Gravador de Macros Excel - Lição 4: O Visual Basic Editor - Lição 5: Modificando Macros no Visual Basic Editor - Lição 6: Escrevendo Macros no VBEditor - Lição 7: Testando Macros no Visual Basic Editor - Lição 8: Eventos VBA do Excel - Lição 9: Segurança e Proteção no VBA do Excel

Lição 1: Introdução ao VBA do Excel

O VBA é " Visual Basic for Application ". Ele é uma linguagem de programação que permite usuários a programarem macros para executar tarefas repetitivas ou complexas automaticamente dentro do Excel. Com o VBA do Excel você pode desenvolver pequenos procedimentos (macros) que tornarão a sua vida profissional mais fácil e lhe permitir fazer mais em menos tempo. Mas o VBA também é uma linguagem de programação muito poderosa com a qual você pode desenvolver dentro do Excel programas reais que executem em poucos minutos tarefas muito complexas. Com o VBA do Excel você pode desenvolver um programa que faça EXATAMENTE o que você precisa.

Lição 2: Vocabulário das Macros VBA do Excel

Se como eu você for um contador você tem dispensar anos numa faculdade para aprender lançamentos de débitos e créditos. Quando você falar com outros contadores eles entenderão a respeito do que você está falando, mas se você falar com advogados ou engenheiros eles não têm uma pista. Em programação existem certos termos que você precisa aprender sobre eles para descobrir o básico e o mais complexo. Estes termos são "objetos", "propriedades", "métodos" e outros. Aqui está o que eles são e o que eles significam.

Lição 3: O Gravador de Macros do Excel

Quando você iniciar o gravador de macro você pode escolher para anexar a macro a uma tecla do teclado. Quando ela foi gravada você apenas clicou na tecla que você escolheu e a macro por outro lado fez isto novamente. Desenvolva a sua primeira macro Excel com esta lição passo a passo sobre como usar o Gravador de Macros do Excel. Após 12 anos de programação eu ainda uso o Gravador de Macros do Excel diariamente. Ele é o melhor professor e o maior dos assistentes.

Lição 4: O Visual Basic Editor

O Visual Basic Editor - VBE é o subprograma em Excel com o qual você desenvolve, testa e modifica as suas macros, em Excel. Ele é um ambiente muito amigável para o usuário. Você não precisa instalá-lo, ele já está lá toda vez que você abrir o Excel. Aqui está como configurá-lo para tornar a sua experiência tanto quanto possível, fácil, agradável e útil. Desenvolver macros, criar useforms com controles (botões de comando, caixa de listagens, caixas de texto, caixas de combinação (listas drop-down ), etc..). Configure e mude todas as propriedades dos componentes.

Bertolo Lições de VBA do Excel 7

você uma ferramenta que vai além daquele feijão com arroz geralmente praticado por muitos todo o dia. Você pode esperar em desenvolver aplicações muito brilhantes se você:

  • conhecer bem os seus dados (financeiros, contábeis, vendas, marketing, estoque, etc..)
  • conhecer bem o Excel ( SUMPRODUCT, INDEX/MATCH e outras funções importantes do Excel, mais as funcionalidades do database do Excel). Não precisa aprender sobre funcionalidades muito raramente usadas como pivot tables , solver , atingir metas , cenários , group e outline e outras ferramentas especializadas. É esta maleabilidade que faz com que a análise dos dados tenha uma apresentação realmente profissional e somente vista em versões de programas estatísticos SPSS, etc.. Se você tiver mais do que 10 anos de experiência no seu campo de especialização (Contabilidade, Finanças, Produção, Engenharia, etc...) você deve querer aprender VBA para tornar-se um desenvolvedor VBA do Excel (o mercado e o dinheiro são muito bons). Precisa para isso ter conhecimentos básicos de Excel. É nossa intenção desenvolver ferramentas que permanecem na obscuridade e abrir a você novas fronteiras na arte de analisar dados.

O que são estas 9 lições?

Por favor, não pule o primeiro capítulo sobre o vocabulário. Algumas das coisas que eu preciso falar para você sobre elas mais tarde soarão como Marcianas. Se você falar Marciano, então, siga em frente.... Daí então eu lhe apresentarei ao gravador de macro, uma característica única que permite a você criar macros enquanto você está fazendo manualmente o que você gostaria que a macro fizesse. Daí então nas próximas 4 lições, eu darei uma olhada no Visual Basic Editor (VBE), o ambiente de programação mais amigável do usuário no mercado. Você então aprenderá sobre os EVENTOS que disparam as macros (lição 8), controles (botões de comando) e os userforms. Finalmente há a lição 9 sobre segurança e proteção.

Bertolo Fase #1: Desenvolvendo Procedimentos VBA em Excel 8

Lição #01: Introdução ao VBA do Excel

VBA é " Visual Basic for Application ". É uma linguagem de programação que permite os usuários a programarem macros para efetuar tarefas complexas dentro de uma aplicação. Com o VBA do Excel você pode desenvolver pequenos procedimentos (macros e/ou funções) que tornarão sua vida profissional mais fácil e lhe permitir fazer mais em menos tempo. Mas o VBA também é uma linguagem de programação muito poderosa com a qual você pode desenvolver dentro do Excel programas reais que efetuarão em uns poucos minutos tarefas muito complexas. Com o VBA para o Excel você pode desenvolver um programa que faça EXATAMENTE o que você precisa.

O

Visual Basic e VBA

O que é VBA?

Existe um VBA para cada Aplicativo

Existe o VBA para o Excel, o VBA para o Word, o VBA para o Project, o VBA para o Access. Você pode usar o VBA em Autocad, Oracle e mesmo com o EssBase. Todos os VBA's são semelhantes, mas variam nos objetos com os quais eles trabalham. Todos eles têm a mesma fonte Visual Basic (VB).

De onde veio o VBA?

Nos anos “70” uma nova linguagem de computador apareceu chamada Basic. Eu a usei em calculadoras avançadas (TI 59). Naquele tempo, a RAM (memória) e a CPU's (o cérebro do computador) eram muito, muito pequenos e você estava limitado no que você poderia fazer com a linguagem. Lembro-me ainda que no final daquela década eu era Estagiário numa Empresa de Construção Civil, no Rio de Janeiro, e tinha programado uma folha de pagamento completa (salários, impostos, benefícios) para 500 empregados na calculadora Texas Instrument 59. Com os computadores de hoje em dia veio o Visual Basic (VB). Ela é ainda o Basic, mas, um monte de elementos está pré-programado, tornando a tarefa do usuário muito mais simples. A Microsoft adotou a linguagem e introduziu-a como um componente de todas as suas aplicações.

Deveria eu aprender VBA ou VB?

Digamos que VB é para programadores e VBA é para usuários (ou desenvolvedores). Pessoalmente, eu tive várias horas de treinamento em VB, mas eu faço todo o meu trabalho no VBA para Excel. Você não precisa aprender VB para ser bom em VBA. Eu tenho adotado o VBA para o Excel porque a maioria das funções que eu preciso para organizar e analisar os dados de negócios está pre-programada no Excel. Custa muito menos para desenvolver aplicações financeiras e administrativas no Excel do que re-inventar a roda e fazer tudo em VB.

Qual é a diferença entre VB, VBA para Excel, para Access, para Word, para Project, etc.?

Para responder esta questão eu lhe pediria para imaginar um encontro de cinco pessoas falando Português, um advogado, um contador, um médico, um químico e um psicólogo. Todos eles falam Português, mas quando for à vez de falar a respeito do seu trabalho diário nenhum deles entende totalmente o outro. É o mesmo com o VB e

Bertolo Lição #01 – Introdução ao VBA do Excel 10

Prática #01: Introdução ao VBA do Excel

Bertolo Fase #1: Desenvolvendo Procedimentos VBA em Excel 11

Lição 2: Vocabulário das Macros VBA do Excel^1

o universo do VBA do Excel (Macros) existe algum vocabulário (terminologia) que você poderá querer adotar de modo que outros possam lhe entender e de modo que você possa entender os outros. Isto ocorre em qualquer linguagem de programação. Alguns dos termos são bem conhecidos, e requerem pouca explicação. Outros são termos que você não deve ter encontrado antes. O que segue é uma lista dos termos chaves do Visual Basic que são cobertos nesta lição:

N

Objeto Propriedade Método Argumento Coleções Procedimento Subrotina Função Macro Declaração Expressão

Esta lição dará uma explicação destes termos junto com ilustrações de modo que quando você encontrar estes termos nas outras lições você não ficará confuso. Também, você encontrará que outras lições dão uma cobertura em profundidade destes termos.

O que é uma MACRO?

Macros do Excel: É uma série de passos que se armazenam e que podem ser ativados com alguma tecla de controle (Ctrl) mais uma letra. Por exemplo, todos os dias emprego freqüentemente em minhas células os mesmos passos: Tamanho de Fonte (Tamanho da letra), Negrito, Fonte (Tipo de letra) e Cor de Fonte (Cor de Letra). Para não estar repetindo estes passos, posso armazená-los numa macro e, quando executar esta macro, os passos antes mencionados se executarão quantas vezes eu desejar. Enfim, uma macro é uma série de instruções realizadas pelo Excel, ao invés de você. As macros ou sub-rotinas começam com a palavra Sub, seguida pelo nome da macro. Elas terminam com as palavras End Sub. O que segue é um exemplo de uma subrotina ou macro:

Sub AlôMundo() MsgBox "Alô Mundo" End Sub

(^1) NOTA: Esta lição é sobre o vocabulário de programação. Se você estiver procurando

códigos (as palavras usadas para falar ao Excel em VBA) vá para a seção de código VBA ( páginas deles)..

Bertolo Lições de VBA do Excel 13

Você deve ter notado que grandes objetos, freqüentemente, incluem objetos menores. Por exemplo, um objeto pasta contém objetos folhas de planilhas. Um objeto planilha contém objetos células. Se você olhar ao seu redor, o mesmo se aplica. Um objeto casa contém objetos salas. E objeto sala contém objetos móveis e utensílios.

SOBRE COLEÇÕES...

Uma coleção é um grupo de objetos que são todos do mesmo tipo. As coleções estão quase sempre no plural. Exemplos de coleções são pastas, folhas de planilhas, e diagramas. Os membros individuais de uma coleção podem ser referenciados especificando a coleção e, daí então, ou o nome do membro, ou um número que indique a posição do membro na coleção. Por exemplo, se a primeira folha de planilha na coleção Sheets é chamada Sheet1, uma das duas declarações seguintes selecionará esta folha e a tornará a folha ativa:

Sheets("Plan1").Select

ou Sheets(1).Select

Coleção

Membro

Um dos modos principais que o Visual Basic funciona é especificando um objeto e daí então uma ação a ser imposta ao objeto. É por isso que o Visual Basic é chamado de linguagem orientada ao objeto.

SOBRE AS PROPRIEDADES...

Se você observar os objetos ao seu redor, você verá que eles têm propriedades. Por exemplo, uma casa tem uma propriedade endereço , uma pessoa tem uma propriedade nome , uma sala tem uma propriedade cor , e uma televisão tem uma propriedade ativa (ou está ligada ou desligada). Os objetos no Microsoft Excel também têm propriedades. Por exemplo, uma célula tem uma propriedade endereço , uma folha de planilha tem uma propriedade nome , e uma fonte tem uma propriedade cor.

Como os exemplos acima ilustram, as propriedades são características de um objeto. Alguns objetos no Microsoft Excel têm muitas propriedades, outros têm muito poucas. A maioria das propriedades dos objetos é expressa como números (tais como o tamanho da margem), strings de textos (tal como um nome de uma folha), ou valores Booleanos (True ou False).

Se você observar os objetos ao seu redor, você pode mudar algumas propriedades de um objeto, mas nem sempre todas as propriedades. Por exemplo, você pode ligar e desligar sua televisão. E você pode pintar uma sala para mudar sua cor. Mas você não pode mudar onde a sua casa está localizada. O mesmo se aplica ao Microsoft Excel. Você pode mudar quase todas as propriedades que você encontrar, mas existem umas poucas que você não pode mudar. Por exemplo, você pode mudar o valor de uma célula (a propriedade Valor), mas você não pode mudar o número de células de uma folha.

O Visual Basic funciona muito do jeito que você faz no Microsoft Excel. Se você quiser entrar com um valor numa célula, você primeiro seleciona a célula daí então

Bertolo Lição #02 – O Vocabulário das Macros VBA do Excel 14

você digita nela o valor. No Visual Basic, você especificará a célula, digita um ponto , especifica uma propriedade Valor, digita um sinal de igual e digita o valor para a célula. Por exemplo: Como entrar comum valor numa

célula

Outra maneira

Exemplos de Propriedade

ActiveCell.Value = 5

Neste caso ActiveCell é uma palavra-chave que se refere à célula ativa , que é a célula destacada pelo cursor. Value é uma palavra-chave que representa o valor da propriedade de uma célula. Por favor, note que são muitas as maneiras de se referir às células além de ActiveCell. Estas maneiras serão cobertas, em detalhes, nas lições posteriores.

Exatamente como você especifica sua cidade, rua, e número da casa num endereço, você pode fazer o mesmo no Visual Basic para melhor identificar uma célula particular:

Workbooks("Custo.Xls").Sheets("Folha1"). _

Range("A1").Value = 5 Neste caso, vários objetos (uma pasta, uma folha de planilha e uma célula) são juntados com pontos para identificar uma célula particular. Dai então a propriedade (Value novamente neste caso) é ligada com um ponto. Finalmente um sinal de igual é entrado seguido por um número. A string acima diz ao Visual Basic que ajuste o valor da célula A1 da folha de planilha Folha1 na pasta Custo.Xls para 5. Por favor, note que célula A1 não tem que ser a célula ativa.

Se você quiser encontrar o valor de uma propriedade em vez de mudá-la, especifique o objeto e a propriedade. Normalmente, o valor que é retornado é armazenado numa variável ou usado numa declaração. Por exemplo, a declaração seguinte mostra uma caixa de mensagem que lhe diz o valor da célula ativa:

MsgBox ActiveCell.Value

Outra maneira é usar a janela local que será discutida na lição sobre depuração de suas macros.

A declaração seguinte armazena o nome da folha de planilha ativa numa variável chamada X, para uso posterior:

X = ActiveSheet.Name

Neste caso, ActiveSheet é o objeto e se refere à folha de planilha ativa. Name é a propriedade. A variável nesta declaração é chamada simplesmente de "X". Nomes mais compridos e mais descritivos de variável são permitidos. Falar em propriedade é pensar então no verbo ser/estar ou ter. A seguir, mostramos outros exemplos de propriedades de objetos do VBA: Selection.Font.Bold = True ..................A fonte está em negrito. Sheets("Talqual").Visible = True.......A folha de planilha Talqual está visível

Bertolo Lição #02 – O Vocabulário das Macros VBA do Excel 16

maiúscula para qualquer palavra significante compreendida no nome como proInfo, proDadosBrutos, proSempreque. Você verá mais tarde quão importante este prefixo e letra maiúscula costumam ser.

" Range("A2")", " ThisWorkbook " e "Application " são objetos , "Value " é uma propriedade e "Close " e "Quit" são métodos. Este procedimento VBA será atribuído a um objeto botão (controle) e quando o usuário clicar nele (o evento ) o procedimento VBA rodará (o método rodar será aplicado). Este procedimento VBA diz ao computador que quando o usuário clicar no botão, a célula "A2" recebe um valor 2 e o Excel é fechado.

Aqui vão alguns códigos muito comuns:

Trasladar-se a uma Célula

Range("A1").Select

Escrever em uma Célula

Activecell.FormulaR1C1="Bertolo"

Letra em Negrito

Selection.Font.Bold = True

Letra Cursiva (Itálico)

Selection.Font.Italic = True

Letra Sublinhada

Selection.Font.Underline = xlUnderlineStyleSingle

Centralizar o Texto

With Selection

.HorizontalAlignment = xlCenter

End With

Alinhar à esquerda

With Selection

.HorizontalAlignment = xlLeft

End With

Bertolo Lições de VBA do Excel 17

Alinhar à Direita

With Selection .HorizontalAlignment = xlRight End With

Tipos de Letra (Fonte)

With Selection.Font .Name = "AGaramond" End With

Tamanho de Letra (Tamanho de Fonte)

With Selection.Font .Size = 15 End With

Copiar

Selection.Copy

Colar

ActiveSheet.Paste

Cortar

Selection.Cut

Ordenar Ascendente

Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Ordenar Descendente

Selection.Sort Key1:=Range("A1"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Buscar

Cells.Find(What:=" Bertolo ", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False).Activate

Inserir Arquivo

Bertolo Lições de VBA do Excel 19

SOBRE AS FUNÇÕES...

Funções são conjuntos de declarações que retornam um valor. Exemplos de funções que são construídas no Microsoft Excel são a função Soma() e a função TIR().

As funções escritas por um usuário são chamadas User Defined Function (UDF's). Tais funções são úteis porque elas podem ser usadas nas células da planilha para fazer cálculos especializados não programados nas funções existentes no Microsoft Excel. Também, você pode usar funções para trocar complexas fórmulas de célula SE. Você pode, também, usar funções em suas macros. O que segue é um exemplo de uma função UDF:

Function TamanhoDaCaixa(X, Y) TamanhoDaCaixa = X * Y End Function

Esta função calcula o tamanho de uma caixa e retorna com um número baseado nos valores fornecidos para X e Y. Para usá-la, você deverá digitar = TamanhoDaCaixa ( célula referência, célula referência ) numa célula de uma planilha. Por favor, note que as macros e as funções podem ser muito complexas e poderosas!

Você pode, e você vai usar todas as funções Excel dentro de seu código VBA, mas você também pode usar as funções do VBA como UCASE, LCASE, NOW(), etc..

(Activecell.Value=NOW())

FORNECENDO ARGUMENTOS

Argumentos são valores que são passados às macros , aos métodos , e às funções. Para ilustrar o que é um argumento, primeiro selecione uma célula e selecione Editar, Copiar do menu da barra de ferramentas Padrão do Excel.. Daí então, vá a outra célula e selecione Editar, Colar especial. Aparecerá o menu seguinte:

Bertolo Lição #02 – O Vocabulário das Macros VBA do Excel 20

As diferentes seleções que você pode fazer neste painel representam os argumentos para o comando colar especial. A declaração seguinte do Visual Basic tem o mesmo efeito que as seleções na caixa acima:

ActiveCell.PasteSpecial paste :=xlValues, _ (^) Argumentos de operation :=xlNone, _ um Método skipBlanks :=False, _ transpose :=False

Nesta declaração, as palavras: paste, operation, skipBlanks e transpose são os argumentos para o método PasteSpecial. Os valores são atribuídos a um argumento por uma combinação de dois pontos e um sinal de igual. Neste caso os valores ou são numéricos, especificados pelas constantes do Visual Basic (xlValues e xlNone), ou são valores Booleanos que são as palavras: Verdadeiro(True) ou Falso (False). As constantes do Visual Basic são apenas nomes para números. Usando nomes para números, torna as declarações do Visual Basic mais fáceis de entender e os valores mais fáceis de lembrar.

SOBRE AS EXPRESSÕES E DECLARAÇÕES

As macros, e as funções, são constituídas de declarações , e estas declarações são constituídas de expressões. Na função TamanhoDaCaixa = X * Y acima, X * Y é uma expressão e TamanhoDaCaixa = X * Y é uma declaração. Uma declaração pode se estender por múltiplas linhas, ou apenas ser de uma única linha de tamanho. Na macro AlôMundo , cada uma de suas linhas são declarações. Outros exemplos de declarações são: IF..THEN, DO...LOOP, FOR...NEXT, WITH...END WITH, EXIT FOR, EXIT DO, EXIT SUB que veremos em detalhes em lições posteriores.

O PROJETO VBA

Um projeto VBA pode compreender 4 tipos de componentes: a pasta , as planilhas , os módulos e os userforms. Componentes de um Projeto

Workbooks (Pasta): A pasta é um arquivo Excel (algo.xls) também chamado de planilha. O objeto "ThisWorkbook" é a pasta para a qual a macro foi criada. O código:

ThisWorkbook.Close

é um método que fechará a pasta dentro da qual a macro ativa está rodando.

Worksheets (Planilha): Uma folha de planilha do Excel 2007 que pode ter 1.048.576 linhas e 18.278 colunas.

Módulos : É uma espécie de um arquivo no qual você guarda a maioria de suas macros (= sub-rotinas VBA). Módulos são criados e nomeados no Visual Basic Editor.