Vba: como definir o valor de uma célula em outra planilha
Você pode usar os seguintes métodos em VBA para definir o valor da célula em outra planilha:
Método 1: definir um valor de célula em outra planilha
Sub SetCellAnotherSheet()
Sun wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets(" Sheet1 ")
Set wks2 = Sheets(" Sheet2 ")
'set cell value in Sheet2 equal to cell value in Sheet1
wks2.Range(" A2 ").Value = wks1.Range(" A2 ").Value
End Sub
Esta macro específica definirá o valor da célula A2 em Sheet2 como igual ao valor da célula A2 em Sheet1 .
Método 2: definir vários valores de células em outra planilha
Sub SetCellAnotherSheet()
Sun wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets(" Sheet1 ")
Set wks2 = Sheets(" Sheet2 ")
'set cell range in Sheet2 equal to cell range in Sheet1
wks2.Range(" A2:A11 ").Value = wks1.Range(" A2:A11 ").Value
End Sub
Esta macro específica definirá o valor de cada célula no intervalo A2:A11 em Sheet2 como igual ao valor de cada célula no intervalo A2:A11 em Sheet1 .
Os exemplos a seguir mostram como usar cada método na prática.
Exemplo 1: Definir um valor de célula em outra planilha
Suponha que temos a seguinte planilha chamada Sheet1 que contém os nomes de diferentes times de basquete:
E suponha que temos Sheet2 que contém apenas uma linha de cabeçalho:
Podemos criar a seguinte macro para definir o valor da célula A2 da Planilha2 como igual ao valor da célula A2 da Planilha1 :
Sub SetCellAnotherSheet()
Sun wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets(" Sheet1 ")
Set wks2 = Sheets(" Sheet2 ")
'set cell value in Sheet2 equal to cell value in Sheet1
wks2.Range(" A2 ").Value = wks1.Range(" A2 ").Value
End Sub
Ao executarmos esta macro, podemos ver que o valor da célula A2 da Planilha2 agora está definido como “Mavs”, que corresponde ao valor da célula A2 da Planilha1 :
Exemplo 2: Definir vários valores de células em outra planilha
Suponha que queiramos definir o valor de cada célula no intervalo A2:A11 de Sheet2 como igual a cada célula no intervalo A2:A11 de Sheet1 .
Podemos criar a seguinte macro para fazer isso:
Sub SetCellAnotherSheet()
Sun wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets(" Sheet1 ")
Set wks2 = Sheets(" Sheet2 ")
'set cell range in Sheet2 equal to cell range in Sheet1
wks2.Range(" A2:A11 ").Value = wks1.Range(" A2:A11 ").Value
End Sub
Quando executamos esta macro, podemos ver que os valores no intervalo A2:A11 da Planilha2 agora estão definidos para serem iguais aos valores no intervalo A2:A11 da Planilha1 :
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:
VBA: Como encontrar a última linha usada
VBA: Como contar o número de linhas no intervalo
VBA: Como contar o número de colunas usadas