Propriedades úteis do objeto Range para Excel VBA que todos devem saber

Um objeto Range possui dezenas de propriedades. Você pode escrever programas VBA sem parar pelos próximos 12 meses e nunca usá-los todos. Aqui, você obtém uma breve visão geral de algumas das propriedades de intervalo VBA do Excel mais comumente usadas. Para obter detalhes completos, consulte o sistema de Ajuda do VBE. (Verifique esses recursos adicionais para obter ajuda com o Excel VBA .)

Algumas propriedades do intervalo VBA do Excel são propriedades somente leitura, o que significa que seu código pode ver seus valores, mas não pode alterá-los (“Olhe, mas não toque”). Por exemplo, todo objeto Faixa VBA do Excel tem uma propriedade Endereço, que contém o endereço da faixa. Você pode acessar essa propriedade somente leitura, mas não pode alterá-la - o que faz todo o sentido quando você pensa a respeito.

A propósito, os exemplos a seguir são normalmente declarações, em vez de procedimentos completos. Se você gostaria de tentar qualquer um deles (e deveria), crie um procedimento Sub para fazer isso. Além disso, muitas dessas instruções VBA funcionam corretamente apenas se uma planilha for a planilha ativa.

Excel VBA: a propriedade Value

A propriedade Value representa o valor contido em uma célula. É uma propriedade de leitura e gravação, portanto, seu código VBA pode ler ou alterar o valor.

A instrução a seguir exibe uma caixa de mensagem que mostra o valor na célula A1 na Planilha1:

MsgBox Worksheets ("Sheet1"). Range ("A1"). Value

É lógico que você só pode ler a propriedade Value para um objeto Range de uma única célula. Por exemplo, a seguinte instrução gera um erro:

MsgBox Worksheets ("Sheet1"). Range ("A1: C3"). Value

Você pode, no entanto, alterar a propriedade Value para um intervalo de qualquer tamanho. A declaração a seguir insere o número 123 em cada célula em um intervalo:

Planilhas ("Folha1"). Intervalo ("A1: C3"). Valor = 123

Value é a propriedade padrão para um objeto Excel VBA Range. Em outras palavras, se você omitir uma propriedade para um intervalo, o Excel usa sua propriedade Value. As seguintes instruções inserem um valor de 75 na célula A1 da planilha ativa:

Intervalo ("A1"). Valor = 75
Intervalo ("A1") = 75

Excel VBA: a propriedade Text

A propriedade Text retorna uma string que representa o texto conforme é exibido em uma célula - o valor formatado. A propriedade Text é somente leitura. Suponha que a célula A1 contenha o valor 12,3 e seja formatada para exibir dois decimais e um cifrão ($ 12,30). A seguinte declaração exibe uma caixa de mensagem contendo $ 12,30:

MsgBox Worksheets ("Sheet1"). Range ("A1"). Text

Mas a próxima declaração exibe uma caixa de mensagem contendo 12.3:

MsgBox Worksheets ("Sheet1"). Range ("A1"). Value

Se a célula contiver uma fórmula, a propriedade Text retornará o resultado da fórmula. Se uma célula contém texto, a propriedade Text e a propriedade Value sempre retornam a mesma coisa, porque o texto (ao contrário de um número) não pode ser formatado para ser exibido de forma diferente.

Excel VBA: a propriedade Count

A propriedade Count retorna o número de células em um intervalo. Ele conta todas as células, não apenas as células não vazias. Count é uma propriedade somente leitura, exatamente como você esperaria. A instrução a seguir acessa a propriedade Count de um intervalo e exibe o resultado (9) em uma caixa de mensagem:

Intervalo de MsgBox ("A1: C3"). Contagem

Excel VBA: as propriedades da coluna e da linha

A propriedade Column retorna o número da coluna de um intervalo de uma única célula. Seu auxiliar, a propriedade Row, retorna o número da linha de um intervalo de uma única célula. Ambos são propriedades somente leitura. Por exemplo, a seguinte instrução exibe 6 porque a célula F3 está na sexta coluna:

Folhas de MsgBox ("Folha1"). Intervalo ("F3"). Coluna

A próxima expressão exibe 3 porque a célula F3 está na terceira linha:

Folhas de MsgBox ("Folha1"). Intervalo ("F3"). Linha

Se o objeto Excel VBA Range consistir em mais de uma célula, a propriedade Column retorna o número da coluna da primeira coluna no intervalo e a propriedade Row retorna o número da primeira linha no intervalo.

Não confunda as propriedades Coluna e Linha com as propriedades Colunas e Linhas. As propriedades de coluna e linha retornam um único valor. As propriedades Columns e Rows, por outro lado, retornam um objeto Range. Que diferença um “s” faz.

Excel VBA: a propriedade do endereço

Address, uma propriedade somente leitura, exibe o endereço da célula para um objeto Range como uma referência absoluta (um cifrão antes da letra da coluna e antes do número da linha). A declaração a seguir exibe a caixa de mensagem mostrada abaixo:

Intervalo de MsgBox (Células (1, 1), Células (5, 5)). Endereço

Propriedades úteis do objeto Range para Excel VBA que todos devem saber

Esta caixa de mensagem exibe a propriedade Endereço de um intervalo de 5 por 5.

Excel VBA: a propriedade HasFormula

A propriedade HasFormula (que é somente leitura) retorna True se o intervalo de uma única célula contém uma fórmula. Ele retorna False se a célula contém algo diferente de uma fórmula (ou está vazia). Se o intervalo consistir em mais de uma célula, o VBA retornará True somente se todas as células no intervalo contiverem uma fórmula ou False se todas as células no intervalo não tiverem uma fórmula. A propriedade retorna Nulo se o intervalo contiver uma mistura de fórmulas e não fórmulas. Nulo é uma espécie de terra de ninguém: a resposta não é verdadeira nem falsa, e qualquer célula no intervalo pode ou não ter uma fórmula.

Você precisa ter cuidado ao trabalhar com propriedades que podem retornar Nulo. Mais especificamente, o único tipo de dados que pode lidar com Null é Variant.

For example, assume that cell A1 contains a value and cell A2 contains a formula. The following statements generate an error because the range doesn’t consist of all formulas or all nonformulas:

Dim FormulaTest As Boolean
FormulaTest = Range("A1:A2").HasFormula

The Boolean data type can handle only True or False. Null causes Excel to complain and display an error message. To fix this type of situation, the best thing to do is make sure that the FormulaTest variable is declared as a Variant rather than as a Boolean. The following example uses VBA’s handy TypeName function (along with an If-Then-Else construct) to determine the data type of the FormulaTest variable. If the range has a mixture of formulas and nonformulas, the message box displays Mixed! Otherwise, it displays True or False.

Sub CheckForFormulas()
  Dim FormulaTest As Variant
  FormulaTest = Range("A1:A2").HasFormula
  If TypeName(FormulaTest) = "Null" Then
    MsgBox "Mixed!"
  Else
    MsgBox FormulaTest
  End If
End Sub

Excel VBA: The Font property

A property can return an object. The Font property of an Excel VBA Range object is another example of that concept at work. The Font property returns a Font object.

A Font object, as you may expect, has many accessible properties. To change some aspect of a range’s font, you must first access the range’s Font object and then manipulate the properties of that object. This may be confusing, but perhaps this example will help.

The following statement uses the Font property of the Range object to return a Font object. Then the Bold property of the Font object is set to True. In plain English, this statement makes the cell display in boldface:

Range("A1").Font.Bold = True

Truth is, you don’t really need to know that you’re working with a special Font object that’s contained in an Excel VBA Range object. As long as you use the proper syntax, it works just fine. Often, recording your actions with the macro recorder tells you everything you need to know about the proper syntax.

Excel VBA: The Interior property

Here’s yet another example of a property that returns an object. A Range object’s Interior property returns an Interior object (strange name, but that’s what it’s called). This type of object referencing works the same way as the Font property.

For example, the following statement changes the Color property of the Interior object contained in the Range object:

Range("A1").Interior.Color = 8421504

Em outras palavras, essa declaração altera o plano de fundo da célula para cinza médio. O que é isso? Você não sabia que 8421504 é cinza médio? Para obter alguns insights sobre o maravilhoso mundo de cores do Excel, consulte a barra lateral "Uma cartilha de cores rápida e suja".

Excel VBA: a propriedade Fórmula

A propriedade Formula representa a fórmula em uma célula. Esta é uma propriedade de leitura e gravação, portanto, você pode acessá-la para visualizar a fórmula em uma célula ou inserir uma fórmula em uma célula. Por exemplo, a seguinte instrução insere uma fórmula SUM na célula A13:

Intervalo ("A13"). Fórmula = "= SOMA (A1: A12)"

Observe que a fórmula é uma string de texto e está entre aspas. Observe também que a fórmula começa com um sinal de igual, como todas as fórmulas fazem.

Se a própria fórmula contiver aspas, as coisas ficarão um pouco complicadas. Digamos que você queira inserir esta fórmula usando o VBA:

= SUM (A1: A12) e "Lojas"

Esta fórmula exibe um valor seguido pela palavra Lojas . Para tornar esta fórmula aceitável, você precisa substituir todas as aspas na fórmula por duas aspas. Caso contrário, o VBA fica confuso e afirma que há um erro de sintaxe (porque há!). Portanto, aqui está uma declaração que insere uma fórmula que contém aspas:

Intervalo ("A13"). Fórmula = "= SOMA (A1: A12) &" "Armazena" ""

A propósito, você pode acessar a propriedade Fórmula de uma célula mesmo se a célula não tiver uma fórmula. Se a célula não tiver fórmula, a propriedade Formula retorna o mesmo que sua propriedade Value.

Se você precisa saber se uma célula tem uma fórmula, use a propriedade HasFormula.

Esteja ciente de que o VBA “fala” inglês americano. Isso significa que, para colocar uma fórmula em uma célula, você deve usar a sintaxe dos EUA. Se você usa uma versão diferente do inglês do Excel, leia sobre a propriedade FormulaLocal no sistema de Ajuda.

Excel VBA: a propriedade NumberFormat

A propriedade NumberFormat representa o formato de número (expresso como uma string de texto) do objeto Range. Esta é uma propriedade de leitura e gravação, portanto, seu código VBA pode examinar o formato do número ou alterá-lo. A declaração a seguir altera o formato do número da coluna A para uma porcentagem com duas casas decimais:

Colunas ("A: A"). NumberFormat = "0,00%"

Siga estas etapas para ver uma lista de outros formatos de número (melhor ainda, ligue o gravador de macro enquanto faz isso):

Ative uma planilha.

Pressione Ctrl + 1 para acessar a caixa de diálogo Formatar células.

Clique na guia Número.

Selecione a categoria Personalizado para visualizar e aplicar algumas strings de formato de número adicionais.

Leave a Comment

12 Atalhos de teclas de função do Word 2016

12 Atalhos de teclas de função do Word 2016

Descubra os principais atalhos de teclado do Word 2016 para melhorar sua produtividade. Desde o uso das teclas de função até rápidas combinações de atalhos.

Apagar desenhos de caneta e marca-texto nos slides do PowerPoint

Apagar desenhos de caneta e marca-texto nos slides do PowerPoint

Aprenda como apagar desenhos de caneta e marca-texto nos slides do PowerPoint para manter suas apresentações sempre organizadas e profissionais.

Como remover campos e itens calculados de uma tabela dinâmica do Excel

Como remover campos e itens calculados de uma tabela dinâmica do Excel

Você pode remover facilmente campos e itens calculados de uma tabela dinâmica do Excel. Siga os passos simples para gerenciar seus dados de forma eficiente!

Como usar o recurso de documento mestre do Word 2019

Como usar o recurso de documento mestre do Word 2019

Descubra como usar o recurso de documento mestre do Word 2019 para organizar grandes documentos de forma eficiente e otimizar a edição. Ideal para romances e textos longos.

Smartsheet 9.1.1

Smartsheet 9.1.1

Smartsheet é uma plataforma de trabalho dinâmica que permite gerenciar projetos, criar fluxos de trabalho e colaborar com sua equipe.

SharePoint

SharePoint

SharePoint é um sistema de colaboração baseado na web que usa uma variedade de aplicativos de fluxo de trabalho, bancos de dados de “lista” e outros componentes da web, bem como recursos de segurança para dar controle ao trabalho conjunto de grupos empresariais.

Calendário Perpétuo 1.0.38/1.0.36

Calendário Perpétuo 1.0.38/1.0.36

Van Nien Calendar é um aplicativo de visualização de calendário em seu telefone, ajudando você a ver rapidamente a data lunisolar em seu telefone, organizando assim seu trabalho importante.

Microsoft Outlook 2021

Microsoft Outlook 2021

O Microsoft Outlook é um aplicativo comercial e de produtividade desenvolvido pela Microsoft Corporation.

Clique para cima

Clique para cima

ClickUp é uma das plataformas de produtividade mais bem avaliadas para qualquer empresa. Grandes empresas como Google, Booking.com, San Diego Padres e Uber usam ClickUp para aumentar a produtividade no local de trabalho.

Visualizador PDF-XChange 2.5.322.10

Visualizador PDF-XChange 2.5.322.10

PDF se tornou um formato comumente usado para leitura, criação e envio de documentos de texto. Por sua vez, tem havido um aumento no número de programas utilizados para este tipo de documentação. PDF-XChange Viewer está entre um número crescente de visualizadores de PDF.