Obtenha o valor da célula no Excel VBA

Obtenha valor da célula com Excel VBA

Uma célula é uma célula individual e também faz parte de um intervalo, tecnicamente existem dois métodos para interagir com uma célula em VBA e são o método de intervalo e o método de célula, o método de intervalo é usado como intervalo ("A2") .Valor que nos dará o valor da célula A2 ou podemos usar o método da célula como células (2,1) .valor que também nos dará o valor das células A2.

Seja o funcionamento do Excel ou do VBA, todos nós precisamos trabalhar com células ou células porque todos os dados serão armazenados em células, então tudo se resume ao quão bem sabemos sobre células em VBA. Portanto, se as células são uma parte tão crucial do VBA, é importante entendê-las bem e, se você for um iniciante em relação às células VBA, este artigo o guiará sobre como obter valores de células no VBA do Excel em detalhes.

A primeira coisa que podemos fazer é referenciar ou trabalhar com células em VBA de duas maneiras, ou seja, usando a propriedade CELLS e o objeto RANGE. Por que CELLS é uma propriedade e por que RANGE é um objeto é uma analogia diferente e mais tarde neste artigo, chegaremos a esse ponto.

Exemplos de obter valor de célula no Excel VBA

Abaixo estão os exemplos de Get Cell Value in Excel VBA.

Você pode baixar este modelo do Excel para obter o valor da célula do VBA aqui - modelo do Excel para obter o valor da célula do VBA

Exemplo # 1 - Usando a propriedade RANGE ou CELLS

Por exemplo, na célula A1, temos o valor “Índia”.

Para fazer referência a esta célula, podemos usar a propriedade CELLS ou o objeto RANGE, vamos ver ambos em detalhes.

Usando propriedade de intervalo

Primeiro, inicie o procedimento de macro.

Código:

 Sub Get_Cell_Value () End Sub 

Agora abra o objeto RANGE.

Código:

 Sub Get_Cell_Value () Intervalo (End Sub 

O primeiro argumento deste objeto é “Cell1”, ou seja, a qual célula estamos nos referindo. Neste caso, é a célula A1, portanto, precisamos fornecer o endereço da célula entre aspas duplas para o objeto RANGE.

Código:

 Sub Get_Cell_Value () Range ("A1") End Sub 

Como apenas uma célula está se referindo a outros parâmetros são irrelevantes, feche o colchete e coloque um ponto para ver a lista do Intellisense.

Como você pode ver acima, no momento em que colocamos o ponto, podemos ver toda a lista de propriedades e métodos disponíveis do objeto range.

Uma vez que estamos selecionando a célula, precisamos escolher o método “SELECT” da lista do intellisense.

Código:

 Sub Get_Cell_Value () Intervalo ("A1"). Selecione End Sub 

Agora selecione a célula diferente de A1 e execute o código.

Não importa qual célula você selecionou no momento em que executa o código, ela escolheu a célula mencionada, ou seja, célula A1.

Usando a propriedade de células

Da mesma forma, usamos a propriedade CELLS agora.

Código:

 Sub Get_Cell_Value () Intervalo ("A1"). Selecione Células (End Sub 

Isso é diferente do objeto RANGE, onde poderíamos fornecer diretamente o endereço da célula, mas usando essa propriedade CELLS, não podemos fazer isso.

O primeiro argumento dessa propriedade é “Índice de linha”, ou seja, a qual linha estamos nos referindo. Como estamos selecionando a célula A1, estamos nos referindo à primeira linha, então mencione 1.

O próximo argumento é o “Índice da coluna”, ou seja, a qual coluna estamos nos referindo. A coluna da célula A1 é a primeira coluna, portanto, insira 1.

Nosso código lê CELLS (1, 1) ou seja, primeira linha, primeira coluna = A1.

Agora coloque um ponto e veja se você consegue ver a lista do intellisense ou não.

Com as propriedades CELLS, não podemos ver nenhuma lista do IntelliSense, portanto, precisamos ter certeza absoluta do que estamos escrevendo. Insira “Selecionar” como método.

Código:

 Sub Get_Cell_Value () Intervalo ("A1"). Selecione as células (1, 1) .Selecione End Sub 

Isso também selecionará a célula A1.

Exemplo 2 - Obter valor da célula no Excel VBA

Selecionar é a primeira coisa que aprendemos, agora veremos como obter valor das células. Antes de selecionar a célula, precisamos definir a variável para armazenar o valor da célula.

Código:

 Sub Get_Cell_Value1 () Dim CellValue As String End Sub 

Agora mencione o endereço da célula usando o objeto RANGE ou a propriedade CELLS. Como você é um iniciante, use o objeto RANGE apenas porque com o objeto RANGE podemos ver a lista do intellisense.

Para a variável definida coloque um sinal de igual e mencione o endereço da célula.

Código:

 Sub Get_Cell_Value1 () Dim CellValue As String CellValue = Range ("A1") End Sub 

Mais uma vez, coloque um ponto para ver a lista do intellisense.

Na lista vba intellisense, escolha a propriedade “Value” para obter o valor da célula mencionada.

Código:

 Sub Get_Cell_Value1 () Dim CellValue As String CellValue = Range ("A1"). Value End Sub 

Agora a variável “CellValue” contém o valor da célula A1. Mostre o valor dessa variável na caixa de mensagem em VBA.

Código:

 Sub Get_Cell_Value1 () Dim CellValue As String CellValue = Range ("A1"). Valor MsgBox CellValue End Sub 

Ok, execute o código e veja o resultado em uma caixa de mensagem.

Como há um valor de “ÍNDIA” na célula A1, a mesma coisa também apareceu na caixa de mensagem. Assim, pelo valor VBA da célula podemos obter o valor da célula.

Exemplo # 3 - Obter valor de uma célula para outra célula

Sabemos como obter valor da célula usando vba, agora a questão é como inserir valor na célula. Vamos pegar o mesmo exemplo apenas, para a célula A1 precisamos inserir o valor de “ÍNDIA” e isso pode ser feito a partir do código abaixo.

Código:

 Sub Get_Cell_Value2 () Intervalo ("A1"). Valor = "INDIA" End Sub 

Isso irá inserir o valor de “INDIA” na célula A1, da mesma forma, para obter o valor de uma célula para outra, podemos escrever o código conforme abaixo.

Código:

 Sub Get_Cell_Value2 () Range ("A5"). Value = Range ("A1"). Value End Sub 

Deixe-me explicar o código para você.

“Para a célula A5 precisamos do valor que vem do valor da célula A1”, é tudo o que esse código diz. Portanto, isso obterá o valor da célula A1 para A5 usando o código VBA.

Coisas para lembrar

  • Inserir valor nas células e obter valor da célula requer o uso da propriedade "VALUE" do VBA.
  • Usando a propriedade CELLS podemos selecionar apenas uma célula, mas usando o objeto RANGE podemos selecionar várias células.