Como usar formular1c1 em vba (com exemplos)
Você pode usar a propriedade FormulaR1C1 no VBA para criar uma referência absoluta ou relativa a uma célula específica em uma planilha.
Existem duas maneiras comuns de usar essa propriedade:
Método 1: Use a fórmula R1C1 para criar uma referência absoluta
Sub MultipyCell()
Range(" C5 ").FormulaR1C1 = " =R1C1*20 "
End Sub
Quando você executa esta macro específica, a célula C5 exibirá o resultado da célula na linha 1 e na coluna 1 multiplicado por 20.
Método 2: Use a fórmula R1C1 para fazer uma referência relativa
Sub MultipyCell()
Range(" C5 ").FormulaR1C1 = " =R[-4]C[-2]*20 "
End Sub
Quando você executa esta macro específica, a célula C5 exibirá o resultado da célula 4 linhas acima e 2 colunas à sua esquerda multiplicado por 20.
Os exemplos a seguir mostram como usar cada método na prática com uma planilha Excel contendo o valor 10 na célula A1 :
Exemplo 1: Use a fórmula R1C1 para criar uma referência absoluta
Podemos criar a seguinte macro para multiplicar o valor da célula na linha 1 e coluna 1 por 20 e exibir os resultados na célula C5 :
Sub MultipyCell()
Range(" C5 ").FormulaR1C1 = " =R1C1*20 "
End Sub
Quando executamos esta macro, recebemos a seguinte saída:
Podemos ver que o Excel usou a fórmula =$A$1*20 para calcular o resultado na célula C5 .
Como usamos R1C1 em nossa fórmula em VBA, fizemos uma referência absoluta à célula na primeira linha e na primeira coluna, que é a célula A1 .
Exemplo 2: Use a fórmula R1C1 para fazer uma referência relativa
Podemos criar a seguinte macro para multiplicar o valor da célula que está 4 linhas acima e 2 colunas à esquerda da célula C5 por 20 e exibir os resultados na célula C5 :
Sub MultipyCell()
Range(" C5 ").FormulaR1C1 = " =R[-4]C[-2]*20 "
End Sub
Quando executamos esta macro, recebemos a seguinte saída:
Podemos ver que o Excel usou a fórmula =A1*20 para calcular o resultado na célula C5 .
Como usamos parênteses com R[-4]C[-2] em nossa fórmula em VBA, fizemos uma referência relativa à célula localizada 4 linhas acima e 2 colunas à esquerda da célula C5 , que é a célula A1 .
Nota : Você pode encontrar a documentação completa da propriedade VBA FormulaR1C1 aqui .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:
VBA: uma fórmula simples para “Se a célula contiver”
VBA: Como contar ocorrências de caracteres em uma string
VBA: como verificar se uma string contém outra string