Região Atual VBA

Este tutorial explicará como usar a região atual no VBA.

o CurrentRegion propriedade no VBA é uma maneira de selecionar todas as células contidas em um intervalo com o qual você pode querer trabalhar. Contanto que as células dentro do intervalo sejam todas consecutivas ou "tocando-se" umas nas outras, o CurrentRegion irá selecionar todas as células da região.

Sintaxe CurrentRegion

A sintaxe é muito simples:

1 Intervalo ("E11"). CurrentRegion.Select

onde você especificaria a célula cuja região atual deseja selecionar e, em seguida, use o CurrentRegion.Select propriedade para selecionar o intervalo de células.

Obtendo a Região Atual

Considere a seguinte planilha.

o seguinte subprocedimento selecionaria todas as células do banco de dados

1234567 Sub FindCurrentRegion ()Dim rng como alcance'defina o intervalo como Célula E11Definir rng = intervalo ("E11")'selecione a região atualrng.CurrentRegion.SelectEnd Sub

Se executarmos a rotina, todas as células do CurrentRegion da célula E11 será selecionado.

Se removermos o conteúdo das células adjacentes e executarmos novamente a rotina, o seguinte será selecionado como a região atual.

No entanto, se removermos ainda mais dados, podemos terminar com o exemplo abaixo para a região atual da célula E11.

Colocando a confirmação de informações no D13, terminamos com o seguinte:

o CurrentRegion portanto retorna outro faixa objeto definido pela menor combinação de colunas e linhas ocupadas que circundam o intervalo que você forneceu.

Contando as linhas e colunas na região atual

Podemos usar CurrentRegion para contar as linhas e colunas.

12345678910111213 Sub FindCurrentRegion ()Dim rng como alcanceDim iRw As IntegerDim iCol As Integer'definir o alcanceDefinir rng = intervalo ("E11")'contar as linhasiRw = rng.CurrentRegion.Rows.Count'contar as colunasiCol = rng.CurrentRegion.Columns.Count'mostra o resultado em uma caixa de mensagemMsgBox ("Temos" linhas & iRw & "e colunas" & iCol & "em nossa região atual")End Sub

Se executarmos o procedimento, a seguinte caixa de mensagem aparecerá.

Limpando a região atual

Também podemos usar a propriedade da região atual para limpar o intervalo de células.

123456 Sub ClearCurrentRegion ()Dim rng como alcance'definir o alcanceDefinir rng = intervalo ("E11")rng.CurrentRegion.ClearEnd Sub

Atribuindo a região atual a uma variável

Também podemos atribuir toda a região atual a uma variável de intervalo e, em seguida, usar essa variável de intervalo para manipular as células - seja formatando as células, classificando as células etc …

12345678910 Sub AssignCurrentRegionToVariable ()Dim rng como alcance'defina o intervalo como a região atual de E11Defina rng = Range ("E11"). CurrentRegion'colorir o fundo e o textorng.Interior.Pattern = xlSolidrng.Interior.Color = 65535rng.Font.Bold = Truerng.Font.Color = -16776961End Sub

Se executarmos o procedimento acima, terminaremos com uma planilha conforme mostrado abaixo!

Obtendo as células iniciais e finais na região atual

Com um código um pouco mais complicado, podemos obter a primeira e a última célula em uma região atual.

123456789101112131415161718 Sub GetStartAndEndCells ()Dim rng como alcanceDim iRw As IntegerDim iCol As IntegerDim iColStart, iColEnd, iRwStart, iRwEnd como string'definir a variável de intervalo para ser a região atual de E11Defina rng = Range ("E11"). CurrentRegion'definir a coluna inicial para o intervaloiColStart = rng.Column'obtém a coluna final para o intervaloiColEnd = iColStart + (rng.Columns.Count - 1)'obter a linha inicial para o intervaloiRwStart = rng.Row'obter a linha final para o intervaloiRwEnd = iRwStart + (rng.Rows.Count - 1)'exibe o endereço das linhas e colunas iniciais e finais em uma caixa de mensagemMsgBox ("O intervalo começa em" & Cells (iRwStart, iColStart) .Address & "e termina em" & Cells (iRwEnd, iColEnd) .Address)End Sub

Quando executamos o código acima, a seguinte caixa de mensagem aparecerá

wave wave wave wave wave