Vi scrivo per sapere se potete aiutarmi a ottimizzare una Macro.
Io ho una cartella di lavoro di Excel. Nel foglio1 ho un testo molto lungo diviso in varie celle, nel foglio2 ho un elenco di parole (circa 20000) ognuna in una cella diversa nella colonna A.
Quello che vorrei fare io è eliminare ogni parola che si trova nell'elenco del foglio2 dal testo che si trova nel foglio 1.
la Macro che utilizzo io sfrutta il Trova (la parola) e Sostituisci (con una spazio) ed è questa, ma ci mette cmq tantissimo.
- Codice: Seleziona tutto
Sub EliminaParole ()
Dim Parola As String
Dim N As Integer
For N = 1 To 21570
Parola = ActiveWorkbook.Sheets("Foglio2").Cells(1, 1)
Sheets("Foglio1").Select
Cells.Replace What:=Parola, Replacement:=" ", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Sheets("Foglio2").Select
Rows("1:1").Select
Selection.Delete Shift:=xlUp
Next N
End Sub
Esiste un modo per ottimizzarla e renderla ancora più veloce?
Ad esempio copiare l'intero testo in un nuovo foglio senza le parole che sono nell'elenco del foglio2?
Vi ringrazio del prezioso aiuto che potrete darmi e vi auguro felici feste.
Giordano