Condividi tramite

formula in VB per trascodifica di valori nelle celle

Anonimo
2023-12-06T16:21:39+00:00

Salve invece di creare una formula su una cella di excel con infiti SE ...

è possibile scrivere qualcosa con Visual Basic per fare il lavoro ...

Esempio

Colonna A - Colonna B

VE50120 - con la macro visual basic deve scrivere nella colonna B - 7B7.050.0120

con queste regole

VE = 7B7

50 = 050

120 = 0120

E possibile poi la stessa macro farla girare per tutte le altre righe seguenti del file ?

Grazie

P.S:

non conosco visula Basic !!!!

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

18 risposte

Ordina per: Più utili
  1. Anonimo
    2023-12-06T17:03:16+00:00

    Ciao Eleuterio,

    [...]

    Ciao Norman, non avevo visto la tua risposta 😉

    A parte il fatto che la tua soluzione potrebbe essere più appropriata della mia, Melius adundare quam deficere .... 😊

    in ogni caso, come spesso accade, sarebbe utile se Andrea caricasse un file di esempio per dimostrare le possibili variazioni

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  2. Gianfranco55 25,190 Punti di reputazione Moderatore volontario
    2023-12-07T09:21:06+00:00

    ciao

    a destra la tabella da costruire

    =SE.ERRORE(CERCA.VERT(SINISTRA(A1;TROVA(" ";A1)-1);$H$2:$I$10;2;0)&TESTO(FILTRO.XML("<d><a>"&SOSTITUISCI($A1;" ";"</a><a>")&"</a></d>";"//a[2]");".000")&TESTO(FILTRO.XML("<d><a>"&SOSTITUISCI($A1;" ";"</a><a>")&"</a></d>";"//a[3]");".000");"")

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2023-12-07T07:54:25+00:00

    grazie per le info .. ma il problema è che non ho solo una regola ... ma una decina di variazioni

    esempio :

    VE 50 120 --> 7B7.050.0120

    X9 535 04 --> X95.535.004

    P17 20 060 --> PP1.020.060

    ...

    la tua idea ti tabella di trascodifica mi stuzzica ,,,

    ma ovviamente non so come farla ,.....

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Eleuterio Tedeschi 18,590 Punti di reputazione Moderatore volontario
    2023-12-06T16:43:02+00:00

    Salve invece di creare una formula su una cella di excel con infiti SE ...

    è possibile scrivere qualcosa con Visual Basic per fare il lavoro ...

    Esempio

    Colonna A - Colonna B

    VE50120 - con la macro visual basic deve scrivere nella colonna B - 7B7.050.0120

    con queste regole

    VE = 7B7

    50 = 050

    120 = 0120

    E possibile poi la stessa macro farla girare per tutte le altre righe seguenti del file ?

    Grazie

    P.S:

    non conosco visula Basic !!!!

    Se non lo conosci, forse meglio una formula:

    =CERCA.VERT(SINISTRA(A1;2);{"VE""7B7"};2;0)&TESTO(STRINGA.ESTRAI(A1;3;2);".000")&TESTO(DESTRA(A1;3);".0000")

    Immagino anche che VE non sia l'unico codice da transcodificare, per cui la prima parte in rosso è stata pensata per utilizzare una matrice, che per semplicità potresti avere in una tabella di transcodifica ad hoc.

    Ciao.

    edit

    Ciao Norman, non avevo visto la tua risposta 😉

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2023-12-06T16:40:36+00:00

    Ciao Andrea,

    Salve invece di creare una formula su una cella di excel con infiti SE ...

    è possibile scrivere qualcosa con Visual Basic per fare il lavoro ...

    Esempio

    Colonna A - Colonna B

    VE50120 - con la macro visual basic deve scrivere nella colonna B - 7B7.050.0120

    con queste regole

    VE = 7B7

    50 = 050

    120 = 0120

    E possibile poi la stessa macro farla girare per tutte le altre righe seguenti del file ?

    Grazie

    P.S:

    non conosco visula Basic !!!!

    Senza scomodare VBA, potresti provare una formula del genere:

      **=SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(A4;"VE";"7B7");50;"050");120;"0120")**
    
    [![Immagine](https://learn-attachment.microsoft.com/api/attachments/497d5f64-4b4e-43e6-9eab-5dbc78660de1?platform=QnA"https://learn-attachment.microsoft.com/api/attachments/f868832d-c38b-482f-94b5-ad20463dc82d?platform=QnA" title="filestore.community.support.microsoft.com" rel="ugc nofollow">Immagine

    La risposta è stata utile?

    0 commenti Nessun commento