Isso copiará o valor e o formato da célula ativa atual para a célula à direita
Sub CopyValue()
ActiveCell.Offset(0, 1).Value = ActiveCell.Value
ActiveCell.Offset(0, 1).NumberFormat = ActiveCell.NumberFormat
End Sub
Eu tenho uma fórmula em uma célula que calcula uma determinada data. Eu quero escrever uma macro VBA que irá tomar a fórmula, convertê-lo para o valor de data resultante e copiar esse valor para outra célula / adjacente.
Eu tentei gravar a macro usando "F2" e "F9", no entanto, o script VBA retorna, por exemplo
ActiveCell.FormulaR1C1 = "12/31/2009".
Eu quero escrever a macro para funcionar nos anos futuros, onde a fórmula para a célula de data poderia ser 31/12/2012, 2013, etc. Eu criei fórmulas para eliminar o efeito do ano bissexto, então não posso simplesmente adicione 365 para derivar no próximo ano.
Isso copiará o valor e o formato da célula ativa atual para a célula à direita
Sub CopyValue()
ActiveCell.Offset(0, 1).Value = ActiveCell.Value
ActiveCell.Offset(0, 1).NumberFormat = ActiveCell.NumberFormat
End Sub
Tags microsoft-excel vba