estrai



  • estrai
    di lucas_71 (utente non iscritto) data: 18/05/2016 16:06:50

    Ciao a tutti, avrei la necessità di estrarre dei dati da un foglio excel in un determinato modo..nella colonna A ho un codice che si deve ripetere per ogni codice della colonna B...allego un file di esempio. Nel foglio 1 è quello che ho, nel foglio 2 come dovrebbe essere. Grazie



  • di patel data: 18/05/2016 16:44:40

    prova questa
     
    Sub a()
    Set f1 = Sheets(1)
    Set f2 = Sheets(2)
    Lr = f1.Cells(Rows.Count, "A").End(xlUp).Row
    drow = 1
    For r = 1 To Lr
      cod = f1.Cells(r, 1)
      arr = Split(f1.Cells(r, 2), "-")
      For rr = 0 To UBound(arr) - 1
        f2.Cells(drow, 1) = cod
        f2.Cells(drow, 2) = arr(rr)
        drow = drow + 1
      Next
    Next
    
    End Sub






  • di lucas_71 (utente non iscritto) data: 18/05/2016 17:10:57

    Grazie patel...si riesce a compensare con degli spazi l'estrazione dalla prima alla seconda colonna ?

    55023?????????8019139021567

    cioè la prima dovrebbe essere sempre di 14 caratteri o spazi. Grazie




  • di patel data: 18/05/2016 18:39:38

    non ti va bene su 2 colonne ?





  • di Mister_x (utente non iscritto) data: 18/05/2016 18:57:27

    ciao

    ne approfitto per salutare Patel

    modifica questa linea

    ciao
     
    da cosi
    f2.Cells(drow, 1) = cod
    a cosi
     f2.Cells(drow, 1) = cod & Application.Rept(" ", 14 - Len(cod))






  • di Mister_x (utente non iscritto) data: 18/05/2016 18:59:47

    ciao Patel

    non avevo notato il tuo intervento

    penso che sia questo il fattore degli spazi che si intende







  • di patel data: 18/05/2016 19:15:22

    Ciao Mister
    io credo invece che voglia una unica colonna
     
      For rr = 0 To UBound(arr) - 1
        f2.Cells(drow, 1) = cod & Application.Rept(" ", 14 - Len(cod) &  arr(rr)
        drow = drow + 1
      Next






  • di lucas_71 (utente non iscritto) data: 18/05/2016 19:17:19

    ok perfetto....grazie ad entrambi ...!!