Gama VBA

Objeto Excel VBA Range

O intervalo é uma propriedade no VBA semelhante à propriedade da planilha, a propriedade intervalo também tem muitas aplicações e usos, quando escrevemos nosso código e especificamos um determinado intervalo de células ou uma célula particular, isso é feito pelo método de propriedade intervalo, é usado para dar referência às linhas e colunas das células.

Como você sabe, o VBA é usado para gravar e executar macros e automatizar as tarefas do Excel e fazer tarefas repetitivas com mais rapidez e precisão.

No contexto da planilha do Excel, o objeto de intervalo VBA denota células, únicas ou múltiplas. O objeto de intervalo pode incluir uma única célula, uma linha ou coluna inteira ou várias células espalhadas por linhas e colunas.

Para que o VBA execute as macros e faça as tarefas, ele precisa identificar as células nas quais as tarefas chamadas precisam ser realizadas. É aqui que o conceito de Range Objects encontra sua utilidade.

Como usar o objeto Range?

Para se referir aos objetos no VBA, usamos a técnica hierárquica. Existem 3 hierarquias:

  • Qualificador de objeto: refere-se à localização do objeto, como onde ele está, ou seja, a pasta de trabalho ou planilha a que se refere.
  • Os outros 2 são usados ​​para fazer a manipulação dos valores das células. Estas são propriedades e métodos.
  • Propriedade: aqui, as informações sobre o objeto são armazenadas.
  • Método: Refere-se à ação que o objeto executará.

Por exemplo, para intervalo, o método será ações como classificação, formatação, seleção, limpeza, etc.

Esta é a estrutura que está sendo seguida sempre que um objeto VBA é referido. Esses 3 são separados por um ponto (.)

Application.Workbooks.Worksheets.Range

sintaxe

Application.Workbooks (“Booknew.xlsm”). Worksheets (“Sheet3”). Range (“B1”)

Exemplos

Você pode baixar este modelo Excel de intervalo VBA aqui - Modelo Excel de intervalo VBA

Exemplo # 1 - Referindo-se a uma única célula

Vamos supor que precisamos selecionar a célula “B2” na “planilha1” da pasta de trabalho.

Siga as etapas abaixo:

  1. Abra o Excel. Abra um com a extensão do excel “.xlsm” que significa “Pasta de trabalho habilitada para macro do Excel”. A pasta de trabalho do Excel dos tipos “.xlsx” não permitirá que você salve as macros que você estará escrevendo agora.
  2. Agora, depois de abrir a pasta de trabalho, você precisa ir para o Editor do VBA. Você pode usar o atalho “ALT + F11” para abrir o editor ou usar o método abaixo, conforme mostrado na imagem:

Você verá uma tela semelhante a abaixo:

Agora, escreva o código conforme mostrado na captura de tela abaixo.

Public Sub SingleCellRange ()

ThisWorkbook.Worksheets ("Sheet1"). Range ("B2"). Selecione

End Sub

Veja na imagem do excel abaixo que atualmente a célula A2 está ativada. Depois, você executa o código, observe onde está a célula ativada.

Execute o código como mostrado na imagem abaixo:

Dica: você também pode usar a tecla de atalho do Excel, ou seja, F5 para executar o código

Você verá que a célula “B2” está selecionada após a execução do programa.

O que você está fazendo aqui é dar instruções ao programa para ir para uma célula específica em uma planilha específica de uma pasta de trabalho específica e fazer a ação conforme indicado, que está aqui para selecionar.

Da mesma forma, você pode usar a sintaxe para fazer a seleção de uma ampla variedade de células e intervalos, e também fazer um tipo diferente de ações nelas.

Exemplo # 2 - Selecionando uma linha inteira

Por exemplo, aqui para selecionar a segunda linha. Execute o código fornecido abaixo para selecionar uma linha inteira

Public Sub WholeRowRange ()

ThisWorkbook.Worksheets ("Sheet1"). Range ("2: 2"). Selecione

End Sub

Aqui, o intervalo (“2: 2”) significa a segunda linha. Você pode retornar à sua planilha do Excel e ver os resultados conforme mostrado na captura de tela abaixo.

Exemplo # 3 - Selecionando uma coluna inteira

Por exemplo, aqui para selecionar toda a coluna C. Execute o código fornecido abaixo e veja os resultados.

Public Sub WholeRowRange ()

ThisWorkbook.Worksheets ("Sheet1"). Range ("2: 2"). Selecione

End Sub

Depois de inserir o código fornecido acima, você verá que a coluna inteira foi selecionada em sua planilha do Excel. Consulte a imagem abaixo.

Aqui, intervalo (“C: C”) significa a coluna C.

Da mesma forma, você pode selecionar células contínuas ou células não contíguas, uma interseção de intervalos de células, etc.

Basta fazer as alterações abaixo na parte do intervalo mostrada no código.

Exemplo # 4 - Seleção de células contíguas: intervalo (“B2: D6”)

Exemplo # 5 - Seleção de células não contíguas: intervalo (“B1: C5, G1: G3”)

Exemplo # 6 - Selecionando Interseção de Faixa: Faixa (“B1: G5 G1: G3”)

[Observe a ausência de vírgula aqui]. Aqui você verá G1 a G3 sendo selecionadas, que são as células comuns no intervalo fornecido.

Agora, o próximo exemplo será selecionar um grupo de células na planilha e mesclá-las em uma célula.

Exemplo # 7 - Mesclar um intervalo de células

Suponha que você deseja mesclar as células “B1: C5” em uma. Veja o código fornecido abaixo e siga em frente.

Aqui, “.merge” é a ação que estamos realizando no grupo de células dado em um intervalo

Exemplo # 8 - Limpando a formatação no intervalo de células

Suponha que as células “F2: H6” estejam destacadas em amarelo e queremos limpar a formatação do Excel. Em outro cenário, talvez você queira remover toda a formatação de toda a planilha ou de um grupo de células.

Veja as imagens abaixo para acompanhar. Primeiro, vou mostrar as células formatadas (F2: H6).

Execute os códigos mostrados na captura de tela abaixo para remover esta formatação no intervalo de células selecionado.

Sintaxe: ThisWorkbook.Worksheets (“Sheet1”). Range (“F2: H6”). ClearFormats

Public Sub ClearFormats ()

ThisWorkbook.Worksheets (“Sheet1”). Range (“F2: H6”). ClearFormats

End Sub

Você pode consultar esta captura de tela fornecida abaixo:

Da mesma forma, você pode limpar o conteúdo de um intervalo de células, usando a ação “.ClearContents”.

Existem muitas coisas que você pode fazer. Por favor, experimente para aprender melhor.

Coisas para lembrar

  • O objeto Range denota uma única célula ou várias células.
  • Para manipular os valores das células, precisamos usar as propriedades e métodos
  • Para se referir a objetos no Excel, Range segue o padrão de hierarquia de objetos usando o “.” Notação.