Notifications
Clear all

CRIAR NOVAS LINHAS COM BASE EM LINHAS EXISTENTES

3 Posts
2 Usuários
0 Reactions
1,080 Visualizações
 jrm
(@jrm)
Posts: 34
Eminent Member
Topic starter
 

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.

 
Postado : 01/08/2014 11:47 am
(@gtsalikis)
Posts: 2373
Noble Member
 

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

 
Postado : 02/08/2014 6:02 pm
 jrm
(@jrm)
Posts: 34
Eminent Member
Topic starter
 

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.

 
Postado : 04/08/2014 1:59 pm