Data validation cu lista si referinte structurate din tabel
Data validation cu lista si referinte structurate din tabel
Ideea este urmatoarea: Pe un sheet am un tabel cu vanzarile (un rand pentru fiecare rand din factura). Pe un alt sheet am un tabel cu nomenclatorul de servicii care se vand. Pe coloana "servicii" din primul sheet, pe coloana unde trec serviciile vandute vreau sa am Data Validation cu lista care sa permita doar valorile din nomenclator. Pana aici nimic nou. Dar eu vreau sa folosesc la Source referinta structurata catre acea coloana din sheet-ul cu nomenclatorul si imi da eroare in formula. Intrebarea este: nu se poate asa, e o limitare a Excel ? Formula e buna, am verificat-o in sheet si returneaza ce trebuie.
Varianta cu range name dinamic care s-a mai dat pe aici nu ma satisface pentru ca:
1. Asa e mult mai usor de construit formulele (am vreo 30 de locuri unde am nevoie), manual sau VBA
2. Range-urile tabelelor sunt prin definitie dinamice
3. E total aiurea sa mai definesc alte name peste cele ale tabelelor, pentru fiecare coloana de care am nevoie
4. Am tabele pe post de sursa care au si total row si pe mine ma intereseaza doar [#Data]
Varianta cu range name dinamic care s-a mai dat pe aici nu ma satisface pentru ca:
1. Asa e mult mai usor de construit formulele (am vreo 30 de locuri unde am nevoie), manual sau VBA
2. Range-urile tabelelor sunt prin definitie dinamice
3. E total aiurea sa mai definesc alte name peste cele ale tabelelor, pentru fiecare coloana de care am nevoie
4. Am tabele pe post de sursa care au si total row si pe mine ma intereseaza doar [#Data]
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
Re: Data validation cu lista si referinte structurate din tabel
Imi permit sa ma bag si eu putin in discutie.
Daca am inteles bine, vreti sa faci Data Validation cu info din alt worksheet.
Cand ati introdus sursa v-a dat eroare.
Daca asa este, eu v-am atasat cartea de lucru si cu o poza.
Am facut data validation cu datele din celalalt worksheet.
Cand ati specificat sursa pentru lista ati pus =Servicii[Denumire], dar de fapt trebuia =Denumire pentru ca trebuia pus numele coloanei si nu celulele de referinta. (cf. traducerii capetelor din Name manager)
Daca am inteles bine, vreti sa faci Data Validation cu info din alt worksheet.
Cand ati introdus sursa v-a dat eroare.
Daca asa este, eu v-am atasat cartea de lucru si cu o poza.
Am facut data validation cu datele din celalalt worksheet.
Cand ati specificat sursa pentru lista ati pus =Servicii[Denumire], dar de fapt trebuia =Denumire pentru ca trebuia pus numele coloanei si nu celulele de referinta. (cf. traducerii capetelor din Name manager)
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
-
- Moderator
- Mesaje: 4570
- Membru din: Vin Iul 31, 2009 7:32 am
Re: Data validation cu lista si referinte structurate din tabel
Cred ca formula =Denumire ete totusi incorecta avand in vedere cerintele initiale - fara nume de range-uri... pentru ca ce se vede este doar un Named Range "facut de mana" si care i-a "scapat" probabil in foaia pusa ca exemplu... pentru ca daca incerci sa creezi un alt tabel vei vedea in Name Manager ca iti apare doar numele tabelului fara sa numeasca de la sine putere vreo coloana...
Re: Data validation cu lista si referinte structurate din tabel
Se pare ca s-a intamplat ca la descoperirea penicilinei
Da, imi scapase acel nume definit de mine, dar se pare ca, acesta avand referinta la un range prin definitie dinamic, este el insusi dinamic. Deci singura solutie (chiar daca e dupa ureche) este sa definesc cate un nume pentru coloanele care ma intereseaza din nomenclatoare de forma "=Denumire", dar cu nume diferite, pentru ca am vazut ca validare de forma =Servicii!Denumire (ca sa pot avea acelasi name definit de mana, cu scope pe sheet-ul lui) nu vrea (You cannot use references to other worksheets or workbooks for Data Validation criteria)
Iar numele astea "de mana" le pot da si din VBA
Da, imi scapase acel nume definit de mine, dar se pare ca, acesta avand referinta la un range prin definitie dinamic, este el insusi dinamic. Deci singura solutie (chiar daca e dupa ureche) este sa definesc cate un nume pentru coloanele care ma intereseaza din nomenclatoare de forma "=Denumire", dar cu nume diferite, pentru ca am vazut ca validare de forma =Servicii!Denumire (ca sa pot avea acelasi name definit de mana, cu scope pe sheet-ul lui) nu vrea (You cannot use references to other worksheets or workbooks for Data Validation criteria)
Iar numele astea "de mana" le pot da si din VBA
Re: Data validation cu lista si referinte structurate din tabel
Eu am incercat si asa:
Si imi returneaza lista de servicii.
Din cate am "studiat", Data Validation nu poate face referire la alt sheet, decat prin Name Range sau formula.
Dar cum in Name Range ai mai multe coloane nu poate face referire la ele
Cod: Selectaţi tot
=INDIRECT("Servicii!A2:A6")
Din cate am "studiat", Data Validation nu poate face referire la alt sheet, decat prin Name Range sau formula.
Dar cum in Name Range ai mai multe coloane nu poate face referire la ele
-
- Moderator
- Mesaje: 4570
- Membru din: Vin Iul 31, 2009 7:32 am
Re: Data validation cu lista si referinte structurate din tabel
Inseamna ca trebuie sa tai punctul nr. 3 din cerintele tale pentru ca EXACT asta vei face... doar ca ceva mai "automatizat"... numai ai grija la stabilirea regulilor de "numire" sa nu le schimbi prea des si sa te trezesti cu o muuuultime de rangeuri cu diverse nume dar pe exact acelasi range.smcsa scrie: Iar numele astea "de mana" le pot da si din VBA
Si ai dreptate un Name Range definit peste o coloana de tabel va face automat acel range "dinamic" - se va extinde/restrange odata cu tabelul...
Re: Data validation cu lista si referinte structurate din tabel
Referinta trebuie sa fie dinamica (adaug, sterg in nomenclatoare)Alexx scrie:Eu am incercat si asa:Si imi returneaza lista de servicii.Cod: Selectaţi tot
=INDIRECT("Servicii!A2:A6")
Din cate am "studiat", Data Validation nu poate face referire la alt sheet, decat prin Name Range sau formula.
Dar cum in Name Range ai mai multe coloane nu poate face referire la ele
La punctul 3 ma gandeam la un utilizator obisnuit, care vrea sa faca asta fara habar de VBA.lucian scrie:Inseamna ca trebuie sa tai punctul nr. 3 din cerintele tale pentru ca EXACT asta vei face... doar ca ceva mai "automatizat"... numai ai grija la stabilirea regulilor de "numire" sa nu le schimbi prea des si sa te trezesti cu o muuuultime de rangeuri cu diverse nume dar pe exact acelasi range.smcsa scrie: Iar numele astea "de mana" le pot da si din VBA
Si ai dreptate un Name Range definit peste o coloana de tabel va face automat acel range "dinamic" - se va extinde/restrange odata cu tabelul...
Numele vor fi de forma "NumeSheet_NumeColoana".
Ideea e ca aplicatia va permite ca utilizatorul sa-si genereze sheet/tabelul pentru orice nomenclator doreste, cu orice structura (din UserDialog) dupa ce si-a inserat coloana in sheet-ul de lucru (in cazul exemplului sheet-ul Vanzari) si in plus, la inceput de an, aplicatia trebuie sa genereze INTREG FISIERUL fara date, dar cu structura de sheets / tabele / data validation etc. conform ultimei zile de lucru din anul anterior
Re: Data validation cu lista si referinte structurate din tabel
Am mai incercat asa:
Chiar daca am doar 6 inregistrari in acea coloana, in lista generata de Data Validation nu imi arata si blank-urile, ci doar valorile concrete
Astfel pot sa sterg si sa adaug ce valori doresc.
Cod: Selectaţi tot
=INDIRECT("Servicii!A2:A100")
Astfel pot sa sterg si sa adaug ce valori doresc.
Re: Data validation cu lista si referinte structurate din tabel
Corect, dar daca ajung sa am nevoie de 100 pozitii ? De fapt corect "daca ajunge...", ca e Maria Sa clientul, care poate fi o proaspata fata cu Bacalaureat cu 10 pe linie si care nu stie sa calculeze baza si TVA daca cunoaste suma totala (nu glumesc, am intalnit un caz). De cand fac aplicatii de baze de date, am invatat sa ma pun in locul celui mai dummy utilizator.
Re: Data validation cu lista si referinte structurate din tabel
Pai in loc de A100 pui A65....
Eu aici ma opresc, caci mai mult de atat nu stiu.
Eu aici ma opresc, caci mai mult de atat nu stiu.