Inlocuire caractere dintr-un range filtrat

RAMBO
Mesaje: 455
Membru din: Mie Noi 25, 2009 2:17 pm
Localitate: Pitesti

Inlocuire caractere dintr-un range filtrat

Mesaj de RAMBO » Mie Aug 11, 2021 11:42 am

Fie fisierul de exemplu.
Cum as putea sa fac (intr-o maniera automatizata) pentru ca toate celulele in care este caracterul "X" din coloana status sa fie inlocuite cu "XV"? Initial am incercat sa fac un cod care filtreaza toate X-rile apoi se selecta tot range-ul ramas in urma filtrarii si "scria" "XV". Nu merge corect deoarece va scrie si in celulele goale, resp pentru item05-item07. Banuiesc ca ar trebui ceva pe baza de for cu next, dar ma depaseste cu mult ideea.
NOTA: tabelul original are ~23000 randuri, iar manual e crima.
Multumesc.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

IPP
Moderator
Moderator
Mesaje: 4110
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: Inlocuire caractere dintr-un range filtrat

Mesaj de IPP » Mie Aug 11, 2021 12:43 pm

Buna ziua

Ati incercat un macro cu find and replace?

Cod: Selectaţi tot

Sheets("Foaie1").ListObjects("Tabel1").ListColumns("status").DataBodyRange.Replace What:="X", Replacement:="XV", LookAt:=xlWhole, SearchOrder:=xlByColumns
IP

RAMBO
Mesaje: 455
Membru din: Mie Noi 25, 2009 2:17 pm
Localitate: Pitesti

Re: Inlocuire caractere dintr-un range filtrat

Mesaj de RAMBO » Vin Aug 13, 2021 7:25 am

Ideea asta nu mi-a venit.
Functioneaza perfect. Din cat pot eu sa inteleg, in codul dvs find&replace-ul are loc doar in coloana status, corect? Nu de alta, dar tabelul original contine numeroase alte coloane cu text.
Multumesc.

IPP
Moderator
Moderator
Mesaje: 4110
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: Inlocuire caractere dintr-un range filtrat

Mesaj de IPP » Vin Aug 13, 2021 7:42 am

Buna ziua

Codul se uita in foaia numita "Foaie1" dupa un table numit "Tabel1" pe o coloana din acel tabel (fara a tine cont de capul de coloana) numita "status"
Ca atare va trebui sa modificati aceste elemente in consecinta si exact, orice editare gresita poate sa duca la erori sau prelucrare gresita deci, faceti teste pe un fisier copie.

IP

Scrie răspuns

Înapoi la “Visual Basic for Application (VBA) cu Excel - Intrebari tehnice”