"Vlookup" cu aducere interval celule in alt sheet

gabinicu77
Mesaje: 17
Membru din: Sâm Oct 06, 2012 5:39 pm
Localitate: Tirgu-Mures

"Vlookup" cu aducere interval celule in alt sheet

Mesaj de gabinicu77 » Sâm Dec 28, 2019 12:00 pm

Buna tuturor ! Am nevoie de ajutor cu un cod VBA atasat la cate un buton in sheet-urile “XA” -> “XO” (document atasat) , care sa functioneze similar cu functia VLOOKUP, doar ca sa imi aduca ca si rezultat un interval de celule, nu doar o celula.
Mai exact, in functie de datele inscrise in sheet “Name” , coloana B, sa efectueze o cautare in sheet “1”, coloana B, a textului inscris in celula B2 din sheet “Name”, si sa aduca intervalul “F:BV” din sheet “1”, de pe acelasi rand cu numele gasit, in sheet “XA”, in intervalul “B4:BR4”, apoi …. sa efectueze o cautare in sheet “2”, coloana B , iar daca gaseste textul inscris in celula B2 din sheet “Name”, sa aduca intervalul “F:BV” din sheet “2”, de pe acelasi rand cu numele gasit, in sheet “XA”, in intervalul “B5:BR5” , apoi …. sa efectueze o cautare in sheet “3”, coloana B , iar daca gaseste textul inscris in celula B2 din sheet “Name”, sa aduca intervalul F:BV din sheet “3”, de pe acelasi rand cu numele gasit, in sheet “XA”, in intervalul “B6:BR6” ….-> ->->apoi …. sa efectueze o cautare in sheet “35”, coloana B , iar daca gaseste textul inscris in celula B2 din sheet “Name”, sa aduca intervalul F:BV din sheet “35”, de pe acelasi rand cu numele gasit, in sheet “XA”, in intervalul B38:BR38 ….
Apoi in mod similar cautarea sa fie facuta pentru celula B3 din sheet “Name”, cu aducerea datelor in sheet “XB”.
Mentionez ca datele din sheturile “1” pana la la “35” sunt rezultatele rularii unui macro …si deasemenea ca am facut un macro si pentru aducerea datelor in sheet “XA”(pe care l-am si rulat), care respecta cerintele descrise mai sus, cu exceptia faptului ca, in cazul in care, in sheet-urile “1” la 35” nu s-ar mentine in aceeasi ordine numele inscrise in coloana B, datele aduse in sheet “XA” , nu sunt corecte.
Multumesc anticipat pentru orice punct de vedere !
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

csaba1960
Moderator
Moderator
Mesaje: 187
Membru din: Mie Feb 02, 2011 4:05 pm
Localitate: Cluj-Napoca

Re: "Vlookup" cu aducere interval celule in alt sheet

Mesaj de csaba1960 » Lun Dec 30, 2019 10:02 am

Buna

In atașament ai o posibila soluție, evident, numai daca am inteles bine cerințele.
Am adăugat încă un sheet, centralizare.
Progrămelul face următoarele, cauta in sheeturile 2-32 daca exista angajatul cu numele specificat in B1, daca îl găsește, copiază data, intervalul orar și locul de munca repartizat. Este acționat de butonul centralizator. Pagina este readusa la starea inițiala de Reset.
Codul( același cod) se poate folosi pentru cate pagini este necesar.
Sau mai simplu.
Am adăugat angajații din pagina Name într-un Named Range pe care am folosit într-un Data Validation.
Daca schimbi numele angajatului in B1, progrămelul automat face centralizare pentru angajatul ales.
Vezi uneori face figuri (de culori la nume) din cauza formatării condiționate, trebuie restrâns zona de aplicare.

Codurile sunt in modulul test respectiv in partea de cod a sheetului centralizare.

Codul fct in actuala structura.
Paginile cu repartizarea zilnica pe posturi, trebuie sa fie unul după altul, o pagina goala, fara angajați, da condiție de exit.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

gabinicu77
Mesaje: 17
Membru din: Sâm Oct 06, 2012 5:39 pm
Localitate: Tirgu-Mures

Re: "Vlookup" cu aducere interval celule in alt sheet

Mesaj de gabinicu77 » Vin Ian 10, 2020 8:04 pm

Multumesc mult ! O sa testez si revin cu feedback !

gabinicu77
Mesaje: 17
Membru din: Sâm Oct 06, 2012 5:39 pm
Localitate: Tirgu-Mures

Re: "Vlookup" cu aducere interval celule in alt sheet

Mesaj de gabinicu77 » Dum Ian 12, 2020 5:03 pm

csaba1960 scrie:
Lun Dec 30, 2019 10:02 am
Buna

In atașament ai o posibila soluție, evident, numai daca am inteles bine cerințele.
Am adăugat încă un sheet, centralizare.
Progrămelul face următoarele, cauta in sheeturile 2-32 daca exista angajatul cu numele specificat in B1, daca îl găsește, copiază data, intervalul orar și locul de munca repartizat. Este acționat de butonul centralizator. Pagina este readusa la starea inițiala de Reset.
Codul( același cod) se poate folosi pentru cate pagini este necesar.
Sau mai simplu.
Am adăugat angajații din pagina Name într-un Named Range pe care am folosit într-un Data Validation.
Daca schimbi numele angajatului in B1, progrămelul automat face centralizare pentru angajatul ales.
Vezi uneori face figuri (de culori la nume) din cauza formatării condiționate, trebuie restrâns zona de aplicare.

Codurile sunt in modulul test respectiv in partea de cod a sheetului centralizare.

Codul fct in actuala structura.
Paginile cu repartizarea zilnica pe posturi, trebuie sa fie unul după altul, o pagina goala, fara angajați, da condiție de exit.
Multumesc mult ! Functioneaza !!! :D
Apreciez bunavointa de a ajuta :!:
Numai bine !

Scrie răspuns

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