1
resposta

[Projeto] Resolvendo exercício

Solicitado criação de linhas de comando com IA, segue prompt e resultado

tenho a planilha abaixo: ID_Cliente Clientes Total Investido E-mail Interno Cliente 1001 %%%#$No&*$%me Cliente 1001 R$ 25,500.00 ** 1002 ###Nome Cli$ente 1002 R$ 55,500.00 ** 1003 *****Nome Cliente 1003 R$ 28,250.00 ** 1004 #####No&me Cliente# 1004 R$ 34,900.00 ** 1005 Nome$ Clie#nte 1005 R$ 43,290.00 ** 1006 ##Nome Cliente 1006 R$ 35,000.00 ** 1007 Nome Cliente 1007 R$ 12,900.00 ** 1008 Nome C&liente 1008 R$ 21,150.00 ** 1009 %Nome Cliente 1009 R$ 12,900.00 **

como referencia a planilha cvomeça na coluna A linha 1 eu preciso de um código em VBA para fazer as seguintes ações: Que a planilha original seja copiada para uma nova aba, e que a aba nova seja renomeada com o nome Duplicada_ + informação de hora, minuto e segundo. Na coluna ID_Cliente, que seja adicionada a informação Byte_ na frente dos códigos dos clientes. Na coluna clientes, preciso limpar os caracteres especiais: &, %, #, *, $. Na coluna Total Investido, preciso que os valores sejam transformados para moeda real. No campo E-mail interno cliente, preciso que seja criado um email para cada cliente com base ja junção de duas informações, A coluna ID_Cliente, após a adição da informação pedida anteriormente + a informação: @bytebank.com.br e por fim, que o cabeçalho seja formatado com a cor azul claro, as fontes sejam colocadas em negrito e as celulas sejam centralizadas. mãos a obra

Linhas de comando: Sub ProcessarDadosClientes()

' Desativa a atualização da tela para otimizar a performance
Application.ScreenUpdating = False

' 1. Copia a planilha original para uma nova aba e renomeia
Dim wsOriginal As Worksheet
Set wsOriginal = ThisWorkbook.Sheets(1) ' Assume que a planilha original é a primeira aba

wsOriginal.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)

Dim wsDuplicada As Worksheet
Set wsDuplicada = ThisWorkbook.ActiveSheet

Dim nomeAba As String
nomeAba = "Duplicada_" & Format(Now, "hhmmss")
wsDuplicada.Name = nomeAba

' 2. Adiciona "Byte_" na frente dos códigos na coluna ID_Cliente (Coluna A)
Dim ultimaLinha As Long
ultimaLinha = wsDuplicada.Cells(wsDuplicada.Rows.Count, "A").End(xlUp).Row

Dim i As Long
For i = 2 To ultimaLinha ' Começa da linha 2 para ignorar o cabeçalho
    wsDuplicada.Cells(i, "A").Value = "Byte_" & wsDuplicada.Cells(i, "A").Value
Next i

' 3. Limpa caracteres especiais na coluna Clientes (Coluna B)
For i = 2 To ultimaLinha
    Dim textoCliente As String
    textoCliente = wsDuplicada.Cells(i, "B").Value
    textoCliente = Replace(textoCliente, "&", "")
    textoCliente = Replace(textoCliente, "%", "")
    textoCliente = Replace(textoCliente, "#", "")
    textoCliente = Replace(textoCliente, "*", "")
    textoCliente = Replace(textoCliente, "$", "")
    wsDuplicada.Cells(i, "B").Value = textoCliente
Next i

' 4. Formata valores da coluna Total Investido para moeda Real (Coluna C)
' A coluna Total Investido já está no formato R$ 25,500.00, então podemos apenas
' aplicar o formato de número para moeda.
With wsDuplicada.Range("C2:C" & ultimaLinha)
    .NumberFormat = "R$ #,##0.00"
End With

' 5. Cria e-mail na coluna E-mail Interno Cliente (Coluna D)
For i = 2 To ultimaLinha
    Dim idClienteFormatado As String
    idClienteFormatado = Replace(wsDuplicada.Cells(i, "A").Value, "Byte_", "") ' Remove "Byte_" para pegar o ID original
    wsDuplicada.Cells(i, "D").Value = "Byte_" & idClienteFormatado & "@bytebank.com.br"
Next i

' 6. Formata o cabeçalho
With wsDuplicada.Range("A1:D1") ' Assumindo que o cabeçalho vai até a coluna D
    .Interior.Color = RGB(174, 214, 241) ' Cor azul claro
    .Font.Bold = True
    .HorizontalAlignment = xlCenter
End With

' Ajusta a largura das colunas para melhor visualização
wsDuplicada.Columns.AutoFit

' Reativa a atualização da tela
Application.ScreenUpdating = True

MsgBox "Processamento concluído com sucesso! A nova aba '" & nomeAba & "' foi criada.", vbInformation

End Sub

1 resposta

Ei, Fernando!

Obrigada por compartilhar sua atividade com comunidade!

Excelente trabalho no código! Gostei de como estruturou bem cada etapa do processamento, desde a cópia da planilha até a formatação final. A renomeação da aba com horário e aplicou formatação condicional no cabeçalho, ficou dinâmica, muito bom!

Continue se dedicando aos estudos e qualquer dúvida, compartilhe no fórum.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!