Condividi:        

EXCEL - trova sostituisci valori multipli

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 - trova sostituisci valori multipli

Postdi Wikipino » 17/10/16 11:30

Buongiorno a tutti
avrei bisogno di una macro in excel che facesse un trova sostituisci di una lunga lista di valori che possono trovarsi o meno nel foglio su cui sto lavorando

in altre parole ho due colonne con i valori da sostituire
AAA sostituisci con HHH
BBB sostituisci con III
CCC sostituisci con JJJ
DDD sostituisci con KKK
EEE sostituisci con LLL
FFF sostituisci con MMM
GGG sostituisci con NNN

la lista è lunghissima e vorrei applicarla su diversi file in cui possono anche non essere presenti tutti i valori da sostituire.
per questo mi servirebbe una macro
in genere faccio con il cerca.vert mettendo i valori in una colonna accanto alla prima e funziona benissimo, ma per farlo devo sempre far riferimento al foglio in cui ho la lista
invece con la macro, basterebbe un pulsante ( o una combinazione di tasti )
sapete dirmi come può essere il codice ? ( eventualmente con l'esempio fatto sopra , poi per i valori reali ce li metto io )
grazie
Wikipino
Utente Junior
 
Post: 19
Iscritto il: 10/11/14 15:24

Sponsor
 

Re: EXCEL - trova sostituisci valori multipli

Postdi Marius44 » 17/10/16 20:41

Ciao
ritengo che la cosa sia fattibile ma, per non dare consigli a vanvera, sarebbe utile vedere il tuo file (senza dati sensibili) dove dovresti indicare in quale colonna sostituire i dati e dove sono elencati questi dati da sostituire.
L'esempio che hai fatto può andar bene se tutto è nello stesso foglio non se siamo in presenza di fogli diversi (come mi sembra di capire) o, addirittura, di file diversi.

Ciao,
Mario
Marius44
Utente Senior
 
Post: 655
Iscritto il: 07/09/15 22:00

Re: EXCEL - trova sostituisci valori multipli

Postdi Anthony47 » 19/10/16 02:36

Creati un file chiamato OldNew.xlsm e in Foglio1, da riga 2 in avanti, metti le parole che vuoi sostituire e la sostituzione.
In un modulo standard del vba, esempio Modulo1, inserisci questa macro:
Codice: Seleziona tutto
Sub globRepl()
Dim repSh As Worksheet, I As Long
'
Set repSh = ThisWorkbook.Sheets("Foglio1")
If ActiveSheet Is repSh Then MsgBox ("Cambia foglio"): Exit Sub
For I = 2 To repSh.Cells(Rows.Count, 1).End(xlUp).Row
'
    Cells.Replace What:=repSh.Cells(I, 1), Replacement:=repSh.Cells(I, 2), LookAt:=xlWhole, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
Next I
MsgBox ("Completata sostituzione...")
End Sub

Quando vuoi effettuare le sostituzioni:
-attiva il foglio interessato, anche appartenente a un altro file.
-manda in esecuzione la Sub globRepl

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

Re: EXCEL - trova sostituisci valori multipli

Postdi Wikipino » 02/01/17 16:27

Anthony
Prima di tutto scusa se rispondo dopo tanto tempo ma per vari motivi non avevo avuto modo di provare il codice da te suggerito
Funziona perfettamente GRAZIE!!!

unica piccola cosa
in questo modo la macro fa la sostituzione su tutto il foglio attivo
se volessi farla solo sulle celle selezionate ?
( eventualmente se volessi farlo su tutto il foglio posso sempre selezionare tutto il foglio)
grazie mille
Wikipino
Utente Junior
 
Post: 19
Iscritto il: 10/11/14 15:24

Re: EXCEL - trova sostituisci valori multipli

Postdi Anthony47 » 02/01/17 20:53

Invece che Cells.Replace etc etc prova con
Codice: Seleziona tutto
Selection.Replace  etc etc

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


Torna a Applicazioni Office Windows


Topic correlati a "EXCEL - trova sostituisci valori multipli":


Chi c’è in linea

Visitano il forum: Anthony47 e 58 ospiti