Boa tarde a todos os mestres e usuários deste belo fórum
Mais uma vez venho solicitar algum do vosso conhecimento, então passo a explicar:
tenho um ficheiro em que numa das colunas podem existir um ou vários valores separados por"/", assim pretendo que através de um código em VBA:
sempre que uma linha tenha mais de um valor seja acrescentada uma linha no final das já existentes
na linha original fique apenas um dos valores e na outra que foi acrescentada o outro
Sendo que pode haver vários valores na mesma linha.
Em anexo coloco um ficheiro exemplo em que na folha dadosinicio estão os dados da forma inicial e na outra folha estão os dados na forma que eu pretendo que fiquem apos execução do código, os dados devem ficar na mesma folha inicial eu apenas acrescentei uma para se perceber melhor o resultado pretendido, sendo que assinalei a cor diferente as linhas que originam as linhas de acréscimo.
Creio que era isso que vc queria:
Sub distribuir_GT() Application.ScreenUpdating = False Dim i As Long Dim j As Long Dim lin As Long Dim UL As Long 'Última Linha Dim obra() As String UL = Cells(Rows.Count, 1).End(xlUp).Row lin = UL + 1 For i = 2 To UL If InStr(1, Cells(i, 5).Value2, "/") > 0 Then obra() = Split(Cells(i, 5).Value2, "/") Cells(i, 5).Value2 = obra(0) For j = 1 To UBound(obra()) Range(Cells(i, 1), Cells(i, 6)).Copy Range(Cells(lin, 1), Cells(lin, 6)) Cells(lin, 5).Value2 = obra(j) lin = lin + 1 Next j End If Next i Application.ScreenUpdating = True End Sub
Abs
Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.
Gilmar
Boa Noite
Muito Obrigado pela ajuda era isto mesmo que eu estava a necessitar, este fórum e as pessoas que aqui colaboram para ajudar os outros sem pedir nada em troca , são o máximo, Gilmar você é espetacular muito obrigado.