Range vs Cells



  • Copia colonne
    di beppexile data: 20/01/2016 13:28:06

    Salve ragazzi, credo sia una cosa stupidissima e banale ma non riesco a trovare una soluzione

    Se voglio costruire un ciclo for per copiare un riga con step di 12, lo svilupperei cosi:

    For i = 1 to 120 Step 12
    Row(i & ":" & i).Copy
    Row(i + 20 & ":" & i + 20).Insert
    Next

    Ma se volessi incrementare la copia di colonne?
    Ad esempio voglio copiare le colonne Columns("A:L") 12 volte partendo dalla colonna M
    Come devo fare?

    Ho provato così ma mi restituisce errore:

    For i = 1 to 120 Step 12
    Columns(i & ":" & i).Copy
    Columns(i + 20 & ":" & i + 20).Insert
    Next

    Sicuramente sta nel fatto che devo specificare sotto forma di lettera e non di numero.... ma come faccio a incrementarla?



  • di Luca73 data: 20/01/2016 14:47:13

    Una soluzione sporca
     
    Dim i
    For i = 1 To 120 Step 12
    Range("A1").Offset(0, i - 1).EntireColumn.Copy
    Range("A1").Offset(0, i - 1 + 20).EntireColumn.Insert
    Next






  • di segato60 data: 20/01/2016 14:50:02

    prova così
     
    For i = 1 To 120 Step 12
    Columns(i).Copy
    Columns(i + 20).Insert
    Next
    



  • di beppexile data: 08/02/2016 15:08:47

    Grazie, ho risolto.