VLOOKUP cu VBA

TudyBTH
Moderator
Moderator
Mesaje: 904
Membru din: Joi Feb 11, 2016 2:12 pm
Localitate: Cluj Napoca

Re: VLOOKUP cu VBA

Mesaj de TudyBTH » Joi Iul 26, 2018 1:53 pm

Buna,

Solutia functioneaza si fara VBA.

Cod: Selectaţi tot

=IF([@NUME]="";"";VLOOKUP([@NUME];nomenclator;2;FALSE))
In clipa in care utilizatorul selecteaza alta activitate decat cea implicita (afisata de formula odata cu selectarea numelui) se inlocuieste formula cu valoarea selectata. Trebuie doar sa selectati "Ignor Erros" sau sa anulati restrictia din Data Validation ca sa nu para erorile "Inconsitent formula".
Marele dezavantaj insa la aceasta solutie este (datele fiind intr-un tabel) posibilitatea ca cineva sa faca (accidental chiar) un Restor formula, lucru care ar modifica din nou datele selectate din intreaga coloana. Deci nu merita, zic eu.


Pentru implementarea solitiei VBA in alt fisier:
- click-dreapta pe TAB-ul foii si selectati View Code
- copiati codul din mesaj si lipiti-l in modulul foii
- inlocuiti denumirile definite la inceputul codului cu cele din fisier.
Am invatat sa inotam in apa, ca pestii
Am invatat sa zburam in aer, ca pasarile
A ramas doar sa invatam sa traim pe Pamant, ca Oamenii.

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

Re: VLOOKUP cu VBA

Mesaj de RAMBO » Joi Iul 26, 2018 3:15 pm

100% in timp s-ar intampla un restore formula. Adaptarea incipienta la fisierul original am facut-o repede. Ceea ce inca nu am reusit este sa aplic "rationamentul" din codul VBA si pentru alte campuri (coloane) in tabelul de introducere a datelor. Adica, odata ce aleg un nume, VBA sa returneze zona (care in fisierul de exemplu era numita activitate) si schimbul; ambele se regasesc in nomenclator si ambele sunt supuse aceleiasi reguli (automat cu posibilitate de modificare manuala). De asemenea mai mult ca sigur ca se vor adauga la nomenclator si alte coloane in timp si care, probabil, vor face obiectul modificarii codului VBA. De aceea as vrea sa-l inteleg. Dar cum tentatia e prea mare... atasez fisierul original.
In foaia data feed la selectarea unui nume, se returneaza zona, si ar trebui si schimbul (A, B, C). Nota: schimbul nu se refera la tura (zi, noapte) ci la o grupare de oameni, dar asa l-au denumit cei din fabrica, asa ramane.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

TudyBTH
Moderator
Moderator
Mesaje: 904
Membru din: Joi Feb 11, 2016 2:12 pm
Localitate: Cluj Napoca

Re: VLOOKUP cu VBA

Mesaj de TudyBTH » Joi Iul 26, 2018 3:39 pm

Buna,

Am adaptat codul si am pus cateva comentarii care ar trebui sa va ajute daca mai adaugati si alte coloane
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
Am invatat sa inotam in apa, ca pestii
Am invatat sa zburam in aer, ca pasarile
A ramas doar sa invatam sa traim pe Pamant, ca Oamenii.

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

Re: VLOOKUP cu VBA

Mesaj de RAMBO » Vin Iul 27, 2018 7:52 am

Multumesc foarte mult. E perfect.

Scrie răspuns

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