copia e sposta se numero



  • copia e sposta se numero
    di Traniwebdesign data: 06/08/2016 06:50:17

    un saluto a tutti gli amici di excel vba.
    Problemino. Ho 5000 righe del genere.
    ----------------------------------------------------------------------
    123456 - Lampada bagno 60x60 60 watt Attacco E27
    123477 - Lampada a led ideale per casa
    12345 - Lampada a fluorescenza bla bla bla
    Luce led da soffitto controsoffitto bianca - 12345
    albero di Natale con palline - 254784
    --------------------------------------------------------------------
    Ho degli articoli, che spesso hanno il codice prodotto (5/6 cifre) spesso avanti e spesso dietro, e vorrei portare il codice prodotto sempre alla fine del testo.
    Il mio titolo deve essere sempre : Nome articolo - xxxxxx
    Cioè (nome articolo) (tratto meno ) ( codice prodotto)
    Ho provato con DEstra e sinistra ma non riesco a concatenare le formule.
    come posso ovviare a creare una pulizia, tenete presente che ho 5000 articoli.
    il codice prodotto va da 000001 a 999999
    Grazie dell'aiuto.



  • di Vecchio Frac data: 06/08/2016 08:29:19

    Se il trattino è presente sempre a separare codice e descrizione, una cosa molto semplice da fare (senza formule o macro) è l'operazione Testo in colonna.
    Copia la colonna da suddividere in un altro foglio (non serve salvarlo, è temporaneo), seleziona questa nuova colonna, scheda Dati, pulsante Testo in colonne, Delimitato, Altro --> inserisci il trattino. Adesso dovresti avere in colonna A il primo dato, in colonna B il trattino, in colonna C il terzo dato. Quindi ti basterà una formula in D tipo =annulla.spazi(C1)&" - "&annulla.spazi(A1) per rovesciare codice e descrizione. Selezionerai questa colonna D e incollerai (solo valori) nel foglio originale. Chiudi il foglio temporaneo senza salvare. Salva invece il foglio originale.





  • di patel data: 06/08/2016 11:42:31

    mi sembra però che non tutte sono rovesciate, quindi la soluzione manuale non dovrebbe funzionare, un file di esempio con più dati sarebbe utile





  • di Vecchio Frac data: 06/08/2016 13:09:42

    Lo so, ho visto il suo esempio, cerco di farlo ragionare anche su questi aspetti. La soluzione semplice c'è anche in quel caso (basta ordinare la prima colonna e impostare la formula rovesciante per le righe che devono essere rovesciate e impostare una formula di riconcatenazione per le righe già a posto).





  • di Traniwebdesign data: 06/08/2016 14:06:26

    Turbina MultiRigo PMR80/6 Verniciatore a spalla co nserbatoio + aerografo ø 3
    144408 - Teli Cover set 3 pz copertura divano + poltrona coperture anti pioggia
    144410 - Teli Cover per sedie impilabili copertura antipioggia sedie plastica
    144412 - Teli Cover per poltrone con braccioli copertura antipioggia per sedie
    144440 - Teli Cover per ombrelloni copertura ombrello mare protezione da pioggia
    Adesivo universale super attack loctite tubetto 3 grammi attac colla universale
    52703 - Telo copritutto multiuso telone copri tutto cover 4 x 4 mt
    Punta Trapano Punte Ricambio Trapano (10 pz) Lunghe Ø 2,50x95 mm - 65301
    Punta Trapano Punte Ricambio Trapano (10 pz) Lunghe Ø 2x85 mm - 65300
    Punta Trapano Punte Ricambio Trapano (10 pz) Lunghe Ø 3,50x112 mm - 65303



  • di Vecchio Frac data: 06/08/2016 14:51:25

    La turbina Multirigo (prima riga) e l'adesivo universale (sesta riga) non rispettano la convenzione (non c'è un trattino a separare il codice). IL resto si può fare tranquillamente col metodo che ho descritto.
    Oppure, naturalmente, un semplice ciclo for each sulle righe interessate... certo questo risolve tutto più o meno facilmente :)





  • di Traniwebdesign data: 06/08/2016 16:49:52

    si, no problem, per le 100 / che non rispettano il tratto la modifica andra fatta a mano.