copia incolla su celle vuote



  • copia incolla su celle vuote
    di rocco (utente non iscritto) data: 16/02/2015 18:21:15

    ciao a tutti
    avrei bisogno di copiare il Range("A1:IK37") di un foglio e incollarlo in un altro dove ci sono gia dei dati e quindi la posizione varia ogni volta che vengono inseriti nuovi dati
    la prima volta incollera i dati nel Range("A1")
    la seconda volta nel Range("A40")
    la terza volta nel Range("A80")....e cisi via di 40 in 40
    come posso fare?

    un grazie fin da adesso a chi mi potra aiutare!



  • di lepat (utente non iscritto) data: 16/02/2015 19:35:43

    qualcosa del genere dove si copia dal foglio 1 al 2
     
    Sub a()
    LR = Sheets(2).Cells(Rows.Count, "A").End(xlUp).Row + 1
    Sheets(1).Range("A1:IK37").Copy Sheets(2).Range("A" & LR)
    End Sub



  • di Raffaele_53 (utente non iscritto) data: 16/02/2015 19:36:15

    Non si capisce nulla, se fosse in altro file, oppure sullo stesso file, mà in altro foglio
    Poi desideri copiare 40 righe sotto (senza nessuna verifica?)
    Questo funziona solo se sotto la cella A1 tutte le altre celle sono piene.
     
    Sub Copia_Righe40()
    Dim sh1 As Worksheet: Set sh1 = Worksheets("Foglio1") ' da cambiare casomai
    Dim sh2 As Worksheet: Set sh2 = Worksheets("Foglio2") ' da cambiare casomai
    Dim Ur1, Rg As Long
    Ur1 = sh2.Range("A" & Rows.Count).End(xlUp).Row
    If Ur1 = 1 Then
        Rg = 1
        sh1.Range("A1:IK37").Copy
        sh2.Cells(Rg, 1).PasteSpecial
    End If
    If Ur1 > 1 Then
        Rg = Fix(Ur1 / 40)
        Rg = A + 40
        sh1.Range("A1:IK37").Copy
        sh2.Cells(Rg, 1).PasteSpecial
    End If
    Set sh1 = Nothing
    Set sh2 = Nothing
    End Sub



  • di rocco (utente non iscritto) data: 16/02/2015 20:04:02

    X Raffaele_53

    il primo copia incolla va bene
    ma gia dal secondo copia incolla mi va ad incollare sulla stessa posizione della prima

    quello che vorrei fare ogni volta è copiare dalla stessa posizione del primo foglio e incollare sul secondo foglio sempre 40 righe piu sotto
    quindi la prima volta incollera sulla prima riga
    la seconda volta sulla 40esima riga
    la terza volta sull 80esima riga ..................e cosi via


    non imprta che ci siano valori nelle celle da copiare
    lìimportante è che mi copi quella porzione del primo foglio sul secondo



  • di Raffaele_53 (utente non iscritto) data: 16/02/2015 20:20:49

    >>>Questo funziona solo se sotto la cella A1 tutte le altre celle sono piene.



  • di rocco (utente non iscritto) data: 16/02/2015 21:34:59

    ok, grazie Raffaele....aspettero un altro aiuto



  • di Raffaele_53 (utente non iscritto) data: 17/02/2015 16:00:24

    C'è una discordanza nei Tuoi dati ...se la prima volta incolla in A1 la seconda volta sarà in riga 41
    Comunque questo lo fà scrivendo un numero in cella IL1 (scrive in 1,40,80 ecc ecc)
    Se desideri scrivere in 1,41,81 ecc ecc modifica la riga --->Rg = (sh2.Range("IL1") * 40) mettendo alla fine un + 1
     
    Sub Copia_Righe40()
    Dim sh1 As Worksheet: Set sh1 = Worksheets("Foglio1") ' da cambiare casomai
    Dim sh2 As Worksheet: Set sh2 = Worksheets("Foglio2") ' da cambiare casomai
    Dim Ur1, Rg As Long
    Rg = sh2.Range("IL1")
    If Rg = 0 Then
        Rg = 1
        sh1.Range("A1:IK37").Copy
        sh2.Cells(Rg, 1).PasteSpecial
        sh2.Range("IL1") = sh2.Range("IL1") + 1
    Else
        Rg = (sh2.Range("IL1") * 40) + 1
        sh1.Range("A1:IK37").Copy
        sh2.Cells(Rg, 1).PasteSpecial
        sh2.Range("IL1") = sh2.Range("IL1") + 1
    End If
    Set sh1 = Nothing
    Set sh2 = Nothing
    End Sub



  • di rocco (utente non iscritto) data: 17/02/2015 23:17:22

    GRAZIE Raffaele
    funziona proprio come volevo!
    sei un grande!