Trova parola in cella da elenco se esiste parola
Hai un problema con Excel?
Trova parola in cella da elenco (se esiste parola)
di daveacad (utente non iscritto) data: 20/04/2017 15:24:23
Ciao a tutti.
Devo trovare una parola all'interno di una cella e scrivere la parola trovate, se esite, in un'altra cella. Con le funzioni STRINGA.ESTRAI & TROVA il problema si risolve.
Il problema si pone quando devo trovare una parola presa da un elenco di parole. Provo a spiegarmi meglio.
Ho un elenco di celle con la descrizione estesa e di dettaglio di prodotti con i relativi Marchi (nome azienda produttrice). Voglio poter intercettare le celle che contengono Marchio1 oppure Marchio2, Marchio3, Marchio4, ..., Marchio(n) e questo prendendoli da un elenco a parte dove sono elencati questi Marchi. Naturalmente, quando viene trovato il Marchio(n) attinto dall'elenco dei Marchi, voglio che venga scritto il Marchio(n) - se presente - in una cella vuota.
Ho pensato, pur non sapendo come fare operativamente, di sfruttare le possibilità degli elenchi a discesa e convalida dati.
Avete qualche idea per risolvere il mio problema?
Grazie,
daveacad
di alfrimpa data: 20/04/2017 15:40:02
Ciao dave
Allega un file di esempio con i dati ed il risultato desiderato inserito a mano.
Alfredo
di daveacad (utente non iscritto) data: 20/04/2017 17:22:35
Ciao Alfredo,
inserito file esplicativo.
d.
di patel data: 21/04/2017 08:50:43
ti va bene una macro attivabile da pulsante ?
di Luca73 data: 21/04/2017 09:26:07
Ciao io Propongo una function
Vedi Sotto
Modificata
Option Explicit
Public Function ListaParole(FraseInput As String, RangeParoleDaCercare As Range) As String
Dim CellaW
ListaParole = ""
For Each CellaW In RangeParoleDaCercare
If ((CellaW.Text <> "") And (InStr(FraseInput, CellaW.Text) > 0) And Not (IsNull(InStr(FraseInput, CellaW.Text)))) Then
If ListaParole <> "" Then
ListaParole = ListaParole & "; " & CellaW.Text
Else
ListaParole = CellaW.Text
End If
End If
Next
End Function
|
di daveacad (utente non iscritto) data: 21/04/2017 15:43:16
Ciao luca73,
grazie per il codice.
Come si usa? Ho provato ALT F11 e inserito un modulo, ma non poi non riesco a proseguire.
D.
di alfrimpa data: 21/04/2017 15:54:33
Devi copiare il codice nel modulo e poi sul foglio in una cella scrivere
=ListaParole(FraseInput;RangeParoleDaCercare)
Alfredo
di daveacad (utente non iscritto) data: 21/04/2017 16:22:22
Ciao Luca73,
ho provato, senza risultato
Vedi allegato.
Tnx.
di daveacad (utente non iscritto) data: 27/04/2017 10:51:08
Ciao a tutti,
gentilmente qualche esperto riesce a verificare come mai non mi funziona il codice VBA che abete proposta? (vedi files allegati).
Grazie,
d.
di Luca73 data: 27/04/2017 11:38:21
Nella cella D3 devi inserire la formula come
=ListaParole(B3;ListaParole!$A$1:$A$12)
e poi copi in basso
Ciao
Luca
Trova parola in cella da elenco (se esiste parola)
di daveacad data: 02/05/2017 12:09:13
Ok. Funziona.
Grazie!
Vuoi Approfondire?