1
resposta

[Sugestão] Nesse caso usei usei um comando IF para a coluna 4

Não havia pensado na hipótese do professor. Por mais que tenha ficado diferente também funcionou com a função IF no fim do código.

Sub sbManipulaDados()

'Declaração de variável como célula Dim rCelula As Range Dim lContaLinhaDestino As Long

'Inicializa a variável
lContaLinhaDestino = 2

'Estrutura de repetição do tipo for Each
For Each rCelula In Selection
    
    If rCelula.Column = 4 Then
            Sheets("Versão final").Cells(lContaLinhaDestino, rCelula.Column) = fnAjustaData(rCelula.Value)
        Else
            Sheets("Versão final").Cells(lContaLinhaDestino, rCelula.Column) = rCelula.Value
    End If
    
    If rCelula.Column = 4 Then
          lContaLinhaDestino = lContaLinhaDestino + 1
    End If
    

Next

End Sub

'Função que ajusta a data de formato USA para Brasileiro Function fnAjustaData(pData As String) As Date fnAjustaData = Mid(pData, 9, 2) & "/" & Mid(pData, 6, 2) & "/" & Mid(pData, 1, 4) End Function

1 resposta

Oii, Carlos! Tudo bem?

Fico feliz que tenha colocado em prática o que vem estudando. Gostei de como você utilizou a lógica condicional para manipular os dados na coluna 4. Essa abordagem demonstra flexibilidade e criatividade, além de solucionar o problema de maneira eficiente. E no mundo da tecnologia somos sempre pegos de surpresa com várias formas de resolver o mesmo problema.

Continue se dedicando aos estudos e caso tenha dúvidas, conte conosco para podermos te auxiliar.

Bons estudos e até mais!