Condividi:        

excel macro se cella contiene

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

excel macro se cella contiene

Postdi rerasta » 27/03/13 18:46

Salve,

nelle celle della colonna A ho questi valori come esempio

ACAAC12105
AFXA55102
ARTART181

vorrei ottenere questo risultato

colonna A colonna B
ACAAC12105 ACCADEMIA
AFXA55102 ARIAFIX
ARTART181 ARTE

Utilizzo con successo questa funzione
=SE(VAL.NUMERO(TROVA("ACA";A1));"ACCADEMIA";SE(VAL.NUMERO(TROVA("AFX";A1));"ARIAFIX";SE(VAL.NUMERO(TROVA("ART";A1));"ARTE")))

Ho bisogno del vostro aiuto per convertire questa formula in macro
Grazie per l'attenzione
Stefano
rerasta
Newbie
 
Post: 8
Iscritto il: 05/09/11 15:52

Sponsor
 

Re: excel macro se cella contiene

Postdi scossa » 27/03/13 20:41

rerasta ha scritto:....
Utilizzo con successo questa funzione
=SE(VAL.NUMERO(TROVA("ACA";A1));"ACCADEMIA";SE(VAL.NUMERO(TROVA("AFX";A1));"ARIAFIX";SE(VAL.NUMERO(TROVA("ART";A1));"ARTE")))

Posso suggerire questa semplificazione:
Codice: Seleziona tutto
=INDICE({"ACCADEMIA";"ARIAFIX";"ARTE"};CONFRONTA(SINISTRA(A1;4);{"ACAA";"AFXA";"ARTA"};0))


rerasta ha scritto:Ho bisogno del vostro aiuto per convertire questa formula in macro


Non mi è chiaro se vuoi una UDF o cosa, puoi spiegare meglio a cosa ti serve il codice?
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: excel macro se cella contiene

Postdi rerasta » 27/03/13 21:32

Mi spiego meglio

Nella colonna A ho i codici prodotti a cui vorrei automaticamente associare nella colonna B i relativi produttori

Praticamente se nella cella A1 trovo un codice prodotto che contiene ACA nella cella B1 devo ottenere ACCADEMIA oppure se nella cella A1 c'è un codice prodotto che contiene AFXA devo ottenere nella cella B1 la scritta ARIAFIX e via dicendo...
Tieni conto che i possibili produttori sono + di 100
rerasta
Newbie
 
Post: 8
Iscritto il: 05/09/11 15:52

Re: excel macro se cella contiene

Postdi Anthony47 » 27/03/13 23:49

Ma se hai 100 produttori, come fai a usare con successo una formula che ne prevede solamente tre?

Sei in grado di creare una tabella con le sigle in una colonna e il produttore nell' altra? Le sigle hanno una lunghezza fissa o sono casuali?

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: excel macro se cella contiene

Postdi rerasta » 28/03/13 00:13

la mia formula era solo un esempio ;)

le sigle hanno una lunghezza variabile

posso creare le 2 tabelle
rerasta
Newbie
 
Post: 8
Iscritto il: 05/09/11 15:52

Re: excel macro se cella contiene

Postdi Flash30005 » 28/03/13 01:57

Non due tabelle ma la tabella formata da due colonne e n righe
sulla colonna A (o altra lettera) inserirai il codice (prefisso), nella colonna B (o altra lettera ma a destra della prima) inserirai i produttori.

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: excel macro se cella contiene

Postdi Gigi_ » 28/03/13 04:23

Ciao,
ho impostato questa situazione:
un foglio "articoli" con la colonna A contenente 50 codici articolo.
un foglio "produttori" con la colonna A per i codici produttore e la colonna B per i nomi dei produttori
Codice: Seleziona tutto
Option Base 1
Public produttori(1000, 2) As Variant
Sub abbina()
Worksheets("produttori").Select
'ASSEGNO AGLI ELEMENTI DELLA MATRICE produttori IL CODICE ED IL NOME DI OGNI PRODUTTORE
    For mnf = 1 To 100 ' NUMERO PRODUTTORI
        produttori(mnf, 1) = Cells(mnf, 1).Value 'CODICE PRODUTTORE
        produttori(mnf, 2) = Cells(mnf, 2).Value 'PRODUTTORE
    Next mnf
Worksheets("articoli").Select

    For Item = 1 To 50 'ELENCO DEI CODICI ARTICOLO
        codicearticolo = Mid(Cells(Item, 1), 1, 3) 'ESTRAGGO LE PRIME TRE LETTERE
            For paragone = 1 To 100
                If codicearticolo = produttori(paragone, 1) Then 'LE PARAGONO CON I CODICI PRODUTTORE
                Cells(Item, 2).Value = produttori(paragone, 2) 'ASSEGNO IL CORRISPONDENTE NOME PRODUTTORE ALL'ARTICOLO
                End If
            Next paragone
    Next Item
End Sub

Questo è il file di esempio===>http://uploading.com/mcfdbf51/abbina_produttori-xls
Gigi_
win 7 + office 2003
Avatar utente
Gigi_
Utente Senior
 
Post: 344
Iscritto il: 14/11/09 21:51

Re: excel macro se cella contiene

Postdi Flash30005 » 28/03/13 13:22

Puoi anche usare una formula in K1 (o altra colonna)
Codice: Seleziona tutto
=INDIRETTO("produttori!B"&CONFRONTA(SINISTRA(A1;3);produttori!A$1:A$100;0);1)

e trascini verso il basso

Funziona se i codici sono univoci con solo 3 lettere

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: excel macro se cella contiene

Postdi rerasta » 28/03/13 17:08

perfetto!!!
Ho risolto grazie al vostro aiuto
rerasta
Newbie
 
Post: 8
Iscritto il: 05/09/11 15:52


Torna a Applicazioni Office Windows


Topic correlati a "excel macro se cella contiene":


Chi c’è in linea

Visitano il forum: Nessuno e 34 ospiti