Condividi:        

macro copia riga con condizioni

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

macro copia riga con condizioni

Postdi lebron » 25/05/18 10:31

Ciao a tutti,
sono nuovo del forum, ma vi leggo spesso.
Sto cercando di fare una macro, ma il mio livello è poco meno del principiante :), che mi permetta di copiare delle righe dopo una determinata condizione.

la condizione per copiare la riga è che se la colonna D e la colonna G e la colonna J ( o almeno due delle tre) sono diverse da vuoto mi deve ricopiare la riga, ma spostando delle colonne ( vedi foglio output)


Qualcuno mi può aiutare?

Grazie
https://wetransfer.com/downloads/5df2e2efc28d872958d93267067f8ddf20180525091307/282e929c6024e3041100bd49f4e1337e20180525091308/575c63
lebron
Newbie
 
Post: 2
Iscritto il: 25/05/18 09:28

Sponsor
 

Re: macro copia riga con condizioni

Postdi lebron » 26/05/18 08:35

Nessuno mi riesci ad aiutare? :(
lebron
Newbie
 
Post: 2
Iscritto il: 25/05/18 09:28

Re: macro copia riga con condizioni

Postdi Anthony47 » 26/05/18 23:12

Secondo me questo e' lo stesso quesito che hai posto nell'altra discussione...

Comunque, per farla semplice, prova con:
Codice: Seleziona tutto
Sub ppp()
Dim tdWs As Worksheet, mioFile As String
Set tdWs = Worksheets("output")
Dim K As Long, nextI As Long
'
        Sheets("Foglio1").Select            '<<< Il numero o nome del foglio
        nextI = tdWs.Cells(tdWs.Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        For K = 2 To Cells(Rows.Count, 1).End(xlUp).Row
            Cells(K, 1).Resize(1, 13).Copy tdWs.Cells(nextI, 1): nextI = nextI + 1
                tdWs.Cells(nextI - 1, "F").Resize(1, 6).ClearContents
            If Cells(K, "G") <> "" Then
                Cells(K, 1).Resize(1, 13).Copy tdWs.Cells(nextI, 1): nextI = nextI + 1
                tdWs.Cells(nextI - 1, "C").Resize(1, 3).Value = tdWs.Cells(nextI - 1, "F").Resize(1, 3).Value
                tdWs.Cells(nextI - 1, "F").Resize(1, 6).ClearContents
            End If
            If Cells(K, "J") <> "" Then
                Cells(K, 1).Resize(1, 13).Copy tdWs.Cells(nextI, 1): nextI = nextI + 1
                tdWs.Cells(nextI - 1, "C").Resize(1, 3).Value = tdWs.Cells(nextI - 1, "I").Resize(1, 3).Value
                tdWs.Cells(nextI - 1, "F").Resize(1, 6).ClearContents
            End If
        Next K
End Sub

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19223
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "macro copia riga con condizioni":


Chi c’è in linea

Visitano il forum: Marius44 e 68 ospiti