Esse é o prompt que coloquei no gemini e depois o código gerado:
Prompt:
Crie uma macro em VBA chamada sbLimpaDados.
Ela deve copiar a planilha ativa e renomear com "Reorganizada mm-dd-hh-mm-ss".
Depois, percorrer as linhas a partir da 2 até encontrar linha vazia.
Coluna A: se o valor não começar com "byte_", adicionar esse prefixo.
Coluna B: remover os caracteres # $ * % &.
Coluna C: tratar valores monetários, removendo "R$", tirando separadores errados, trocando ponto por vírgula e formatando como moeda brasileira.
Coluna D: preencher com o valor da célula A2 concatenado com "@bytebank.com.br".
Código:
Sub sbLimpaDados()
' Copia a planilha ativa
Dim novaPlanilha As Worksheet
ActiveSheet.Copy Before:=ActiveSheet
Set novaPlanilha = ActiveSheet
' Renomeia a nova planilha
Dim nomePlanilha As String
nomePlanilha = "Reorganizada " & Format(Now(), "mm-dd-hh-mm-ss")
novaPlanilha.Name = nomePlanilha
' Define a última linha
Dim ultimaLinha As Long
ultimaLinha = novaPlanilha.Cells(Rows.Count, 1).End(xlUp).Row
' Percorre as linhas a partir da segunda
Dim i As Long
For i = 2 To ultimaLinha
' Coluna A
If Left(novaPlanilha.Cells(i, 1).Value, 5) <> "byte_" Then
novaPlanilha.Cells(i, 1).Value = "byte_" & novaPlanilha.Cells(i, 1).Value
End If
' Coluna B
novaPlanilha.Cells(i, 2).Value = Replace(Replace(Replace(Replace(Replace(novaPlanilha.Cells(i, 2).Value, "#", ""), "$", ""), "*", ""), "%", ""), "&", "")
' Coluna C
Dim valorMonetario As String
valorMonetario = novaPlanilha.Cells(i, 3).Value
valorMonetario = Replace(valorMonetario, "R$", "")
valorMonetario = Replace(valorMonetario, ".", "")
valorMonetario = Replace(valorMonetario, ",", ".")
If IsNumeric(valorMonetario) Then
novaPlanilha.Cells(i, 3).Value = Format(CDbl(valorMonetario), "#,##0.00")
End If
' Coluna D
novaPlanilha.Cells(i, 4).Value = novaPlanilha.Cells(2, 1).Value & "@bytebank.com.br"
Next i
End Sub