Página 1 de 1

Dúvida: Workbooks, Sheets, Range

Enviado: 27 Jul 2019 às 20:56
por Gab
Me chamo Gabriel e tô entrando nesse mundo do VBA agora; baixei uma apostila de introdução ao VBA, mas me deparei com a explicação inicial sobre os objetos e suas coleções. Vou colocar o trecho da apostila aqui, e depois expor minha dúvida:

"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."


Minhas dúvidas são: o que são Workbooks? são aquelas "abas" horizontais que ficam na parte inferior do painel do Excel? o que são Sheets? Range eu presumo que seja para identificar a célula.
Tô muito confuso, por favor, alguém pode me ajudar? :roll:

Dúvida: Workbooks, Sheets, Range

Enviado: 28 Jul 2019 às 07:21
por eduardogrigull
Pra entender mais fácil vou escrever bem direto:
Workbooks = sua pasta de trabalho = seu documento atual (Repare o nome da planilha no exemplo) ex.: Pasta1.xlsm
Sheets = São as abas que voce falou, as "Planilhas", como se fossem páginas
Range = "alguma área", ex.: Range("A1").Select = Selecionar a ÁREA (A1), no caso, a célula A1.

Pra identificar a célula voce pode usar: Cells(1,1) O primeiro número indica a linha, o segundo numero a coluna...

Não necessariamente voce precisa sempre especificar todo o endereço da célula, por exemplo:
Eu quero selecionar a célula B5, funciona de todas essas maneiras:

Range("B5").select
Sheets(1).Range("B5").select
Workbooks("Pasta1.xlsm").Sheets("Planilha1").Range("B5").select

Ou ainda:
Sheets("Planilha1").Cells(2,5).select

Tudo depende se voce realmente precise especificar em qual documento a célula está, ou qual planilha. Caso eu queira selecionar a célula B5 da Planilha2 (aba), eu preciso especificar isso...

Re: Dúvida: Workbooks, Sheets, Range

Enviado: 28 Jul 2019 às 09:13
por Gab
Muito obrigado mano, compreendi agora :D
Mas fiquei confuso com uma coisa... Qual a necessidade de especificar o Workbook? A gente só não faz macros nela? Se a gente entrou no arquivo para programar pelo VBA, e estamos dentro daquela Workbook, porque devemos especificá-la? Isso só faria sentido se tivesse como programar entre várias e várias Workbooks (arquivos de excel) que existem no meu pc, mesmo que eu tenha aberto somente em uma.

Dúvida: Workbooks, Sheets, Range

Enviado: 28 Jul 2019 às 09:23
por eduardogrigull
É usado pra trabalhar com arquivos entre um arquivo e outro.
Fora isso, pra alterar configurações do seu documento, por exemplo: ActiveWorkbook.Save << Salva o seu documento. Entendido?

Re: Dúvida: Workbooks, Sheets, Range

Enviado: 01 Ago 2019 às 01:54
por Gab
Entendido, muito obrigado :D