Ola Pessoal
Gostaria de pedir uma ajuda, caso seja possivel.
Estou me dedicando a aprender o VBA e consegui criar a macro abaixo, me baseando em exemplos aqui no fórum, cuja função e basicamente realizar duas ações:
diferença entre os valores da coluna "37" e coluna "31" e inserir na coluna "42" uma string no formato "MMM YYYY"
Gostaria de saber se haveria um jeito mais intelligente de escrever a macro abaixo, principalmente com relação ao For para realizar o loop. A base de dados que estou testando essa macro tem 3000 registros aproximadamente.
Sub ValueIncreaseFormula()
'Set up Variables
Dim lRow, lLast As Double
Dim i As Integer
lLast = Range("A1048576").End(xlUp).Row
'Loop to add the formula column AK (-)column AE
Range("AO2").Select
For i = 2 To lLast
Cells(i, 41) = Cells(i, 37) - Cells(i, 31)
Selection.NumberFormat = "0.0"
Cells(i, 42) = "=TEXT(RC[-33],""MMM YYYY"")"
Next
'Insert the borders to the dataset
With Range("A1")
.CurrentRegion.Borders.LineStyle = xlContinuous
End With
'User Message
MsgBox "Process Finished", vbOKOnly + vbInformation, "System"
End Sub
Muito Obrigado
Editado pela Moderação. Motivo: Procure utilizar o botão Código (< >) sempre que for inserir código VBA ou Fórmulas.
Este tópico foi modificado 4 anos atrás 2 vezes by
DECOVIOTI
Postado : 28/08/2020 3:59 am