AGGIUNGERE NUOVA RIGA



  • AGGIUNGERE NUOVA RIGA
    di barberadario data: 14/08/2013 09:23:16

    la stringa di codice é quella che trovate in basso
    mi potete spiegare come faccio a selezionare quale riga far aggiungere?
    perché ho un foglio formato da molti dati e ho diverse tabelle che dovrebbero fare questo lavoro.
    per esempio se dovessi far aggiungere una nuova riga sotto quella superiore che va da B86 a O86 come faccio? Grazie giá in anticipo
     
    Sub CopiaIncolla() 
    Dim cella(10), I, TRig '<<<<---- 10 = le colonne 
    I = 1 
    TRig = Cells(Rows.Count, I).End(xlUp).Offset(0, 0).Row 
    For I = 1 To 10 Step 1 
    Cells(TRig, I).Select 
    Selection.Copy 
    Cells(TRig + 1, I).Select 
    ActiveSheet.Paste 
    Next I 
    Application.CutCopyMode = False 
    End Sub 
    
    



  • di HarryBosch data: 14/08/2013 10:26:07

    Non serve un ciclo per copiare tutte le celle: basta selezionare l'intera riga (fino a dove ti serve, in questo caso la colonna 10) e copiarla.

    Ora, se ti serve copiare soltanto l'ultima riga della tabella, sulla riga successiva, allora puoi utilizzare il primo codice che ho rivisto e ti posto sotto.

    Se invece vuoi copiare la riga in base alla cella che hai selezionato al momento, allora vedi la seconda routine.
     
    'copia l'ultima riga nella riga successiva
    Sub copia_incolla_ultima()
      Dim TRig As Integer
      TRig = Cells(Rows.Count, 1).End(xlUp).Offset(0, 0).Row
      Range(Cells(TRig, 1), Cells(TRig, 10)).Copy Cells(TRig + 1, 1)
    End Sub
    
    'copia la riga in base alla cella selezionata
    Sub copia_incolla_selezione()
        Range(Cells(Selection.Row, 1), Cells(Selection.Row, 10)).Copy
        Rows(Selection.Row + 1).Insert Shift:=xlDown
        Application.CutCopyMode = False
    End Sub
    



  • di barberadario data: 14/08/2013 10:46:19

    grazie ma dove posso inserire i valori selezionati per esempio le celle da copiare vanno da B12 a O12
    e vorrei copiarle nella riga partendo da B13 e ogni volta che clicco il bottone aggiungere una nuova riga (ex in B14/B15/B16 ecc..)



  • di HarryBosch data: 16/08/2013 21:19:51

    Hai provato i due esempi che ti ho proposto?
    Da quanto ho capito, la prima routine fa proprio quello che ti serve: recupera l'ultima riga contente dati e la ricopia nella riga successiva.
    Devi soltanto adattare l'intervallo in base a quello che ti serve; ti riposto la routine dove ho inserito i riferimenti in lettere, così diventa più comprensibile.
     
    'copia l'ultima riga nella riga successiva
    Sub copia_incolla_ultima()
      Dim TRig As Integer
      'trovo l'ultima riga contenente dati, in base alla colonna B
      TRig = Cells(Rows.Count, "B").End(xlUp).Offset(0, 0).Row
      'ricopio la riga dalla colonna B:O nella riga successiva
      Range(Cells(TRig, "B"), Cells(TRig, "O")).Copy Cells(TRig + 1, "B")
    End Sub