inserimento riga vuota con condizione



  • inserimento riga vuota con condizione
    di libraio (utente non iscritto) data: 18/02/2016 14:15:22

    Un saluto a tutti da una new entry.
    Ho poca dimestichezza con VBA e quando ho bisogno, cerco aiuti sul web e poi li adatto alle mie esigenze.
    In questo caso non riesco a trovare la soluzione... Potete cortesemente aiutarmi?

    In un elenco di diverse righe, avrei necessità di inserire due righe vuote prima di ogni riga contenente in colonna 'A' la parola "Articolo".
    Grazie



  • di Mister_x (utente non iscritto) data: 18/02/2016 15:50:55

    ciao

    da inserire nel modulo del foglio di utilizzo

    ciao
     
    Option Explicit
    Sub Insert_2_righe()
    Dim i As Long
    For i = Cells(Rows.Count, "A").End(xlUp).Row + 1 To 1 Step -1
     If Cells(i, "A") = "Articolo" Then
       Cells(i, "A").Select
        Selection.Insert Shift:=xlDown
        Selection.Insert Shift:=xlDown
        i = i + 2
     End If
    Next i
    End Sub






  • di libraio (utente non iscritto) data: 18/02/2016 18:09:13

    Ringrazio per la risposta.
    Ho provato il codice, ma la mia richiesta non era del tutto chiara: le due righe vanno anteposte alle colle comprese tra la colla A e la J.
    Posso chiedere un ulteriore aiuto?...



  • di patel data: 18/02/2016 18:33:41

    allega un file di esempio con i dati ed il risultato desiderato





  • di libraio (utente non iscritto) data: 19/02/2016 10:46:55

    Ho inserito una cartella .rar con:
    - foglio esempio (come si presenta)
    - foglio risultato (cosa vorrei ottenere)
    Grazie



  • di Mister_x (utente non iscritto) data: 19/02/2016 12:36:52

    ciao

    modifica alla sub() in base al tuo file


    ciao
     
    Option Explicit
    Sub Insert_2_righe()
    Dim i As Long
    For i = Cells(Rows.Count, "A").End(xlUp).Row + 1 To 1 Step -1
    If i = 1 Then Exit Sub
     If Cells(i, "A") = "Articolo" Then
        Rows(i & ":" & i).Insert Shift:=xlDown
        Rows(i & ":" & i).Insert Shift:=xlDown
         i = i + 2
     End If
    Next i
    End Sub
    
    






  • di libraio (utente non iscritto) data: 19/02/2016 17:11:22

    Grazie mister_x, la soluzione è perfetta.
    Sarebbe possibile integrare il codice con la creazione di un bordo sopra e sotto le celle che contengono dati?
    Io lo faccio con la formattazione condizionale, ma non riesco a convertirlo in codiceVBA...
    grazie