Data Validation din Excel nu este Case Sensitive

Informatii despre cum se utilizeaza Microsoft Excel 2003. Calcule, Formule, Functii, Tabele pivot, Analiza datelor, etc

Data Validation din Excel nu este Case Sensitive

Mesajde smcsa » Mar Apr 06, 2010 5:35 am

Asa cum probabil ati observat, Data Validation de tip lista nu verifica marimea caracterelor, adica am in lista Lavinia, accepta si lavinia. Cum putem forta sa accepte doar Lavinia ?
Ultima oară modificat de smcsa pe Mar Apr 06, 2010 10:45 am, modificat 1 dată în total.
Motiv: Modificat titlul pentru o mai buna explicitare
smcsa
 
Mesaje: 2805
Membru din: Mar Sep 29, 2009 7:29 pm
Localitate: Timisoara

Data Validation din Excel nu este Case Sensitive

Mesajde Dr.Excel » Mar Apr 06, 2010 10:16 am

problema este ca in general in Excel functiile NU sunt case sensitive (sunt ff putine exceptii), iar in VBA este exact invers (majoritatea sunt case sensitive)

cred ca cel mai bine este sa faci un Macro sau un User Defined Function (UDF) si sa folosesti functia respectiva intr-o formula scrisa in Custom (la data validation)
Dr.Excel
MCT, MCITP
MOS Master Instructor
IT Learning
Avatar utilizator
Dr.Excel
Site Admin
Site Admin
 
Mesaje: 1915
Membru din: Sâm Ian 24, 2009 1:45 pm
Localitate: Bucharest

Data Validation din Excel nu este Case Sensitive

Mesajde MrExcel » Mar Apr 06, 2010 10:23 am

O solutie ar fi sa introduci la Source fiecare nume pe rand: Ana,Ion,Vasile,Mihai,George. In acest caz, validarea va fi case sensitive.
MrExcel
 
Mesaje: 106
Membru din: Mar Feb 23, 2010 11:09 pm

Data Validation din Excel nu este Case Sensitive

Mesajde Dr. Cloud » Mar Apr 06, 2010 10:27 am

Dar vei avea un dezavantaj destul de mare: va trebui sa completezi mereu acea lista din Data Validation ori de cate ori vrei sa mai adaugi pe cineva.
Dr. Cloud
 
Mesaje: 3329
Membru din: Mar Oct 02, 2012 11:19 am

Re: Data Validation din Excel nu este Case Sensitive

Mesajde smcsa » Mar Apr 06, 2010 10:47 am

MrExcel scrie:O solutie ar fi sa introduci la Source fiecare nume pe rand: Ana,Ion,Vasile,Mihai,George. In acest caz, validarea va fi case sensitive.


Nu merge daca ai 10000 de valori.
smcsa
 
Mesaje: 2805
Membru din: Mar Sep 29, 2009 7:29 pm
Localitate: Timisoara

Re: Data Validation din Excel nu este Case Sensitive

Mesajde Dr.Windows » Mar Apr 06, 2010 12:09 pm

Cred ca se poate doar combinat cu VBA... adica cu Data Validation sa obtii elementele din lista, iar cu VBA sa le faci "Proper Case".

Ca exemplu, in foaia atasata foaia RangeSheet contine un "named range" cu numele rngFete folosit ca data validation in foaia DataSheet (in celulele marcate cu galben - pentru care am mai creat un named range - rngValidare folosit in functia VBA).

Daca selectia se face din lista (combo box-ul specific DataValidation) atunci e simplu - valoarea va apare EXACT ca in lista de "Data Validation" altfel intervine o functie VBA care face transformarea in "proper case":

Cod: Selectaţi tot
Private Sub Worksheet_Change(ByVal Target As Range)
   
    If Not Intersect(Target, Range("rngValidare")) Is Nothing Then
        Application.EnableEvents = False
        Target = StrConv(Target, vbProperCase)
        Application.EnableEvents = True
    Else
    End If
   
End Sub
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
Dr.Windows
Site Admin
Site Admin
 
Mesaje: 4493
Membru din: Vin Iul 31, 2009 7:32 am

Re: Data Validation din Excel nu este Case Sensitive

Mesajde Dr. Cloud » Mar Apr 06, 2010 12:14 pm

Dar daca in lista sunt si nume special scrise cu litera mica?
Eu am vazut ca si pe acelea le face Proper.
Cumva sa verifice daca numele scris este egal sau nu cu cel din lista si sa ii aplice sau nu acea functie de conversie
Dr. Cloud
 
Mesaje: 3329
Membru din: Mar Oct 02, 2012 11:19 am

Re: Data Validation din Excel nu este Case Sensitive

Mesajde smcsa » Mar Apr 06, 2010 12:59 pm

Da, asa cum zice Alex sa fie. Vezi lista cu user-ii, fiecare a scris cum la taiat capul (sau tastatura :lol: )
smcsa
 
Mesaje: 2805
Membru din: Mar Sep 29, 2009 7:29 pm
Localitate: Timisoara

Re: Data Validation din Excel nu este Case Sensitive

Mesajde IPP » Mar Apr 06, 2010 1:01 pm

Buna ziua

Dar daca se adapteaza pentru VBA functia "EXACT"? Aceasta face diferenta de case sensitive?

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

Re: Data Validation din Excel nu este Case Sensitive

Mesajde IPP » Mar Apr 06, 2010 6:52 pm

Buna seara

S-ar putea sa nu fie o solutie prea eleganta dar s-ar putea sa fie functionala.

Pentru ilustrare am setat doar celula A1 sa fie cea in care trebuie ales din lista (sau introdus de la tastatura pe baza unei liste predefinte aflata in foaia "Lista").

Daca se face o modificare in A1 va rula automat un macro.

Am inregistrat si modificat un macro care cauta dupa VALOAREA gasita in A1 in foaia "Lista" si modifica inregistrarea in conformitate cu cea aflata in foaia "Lista". Evident ca am presupus ca in foaia respectiva sunt doar intregistrarile care ne intereseaza.

IP
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
IPP
Moderator
Moderator
 
Mesaje: 3612
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Următorul

Înapoi la Intrebari despre Excel 2003

Cine este conectat

Utilizatorii ce navighează pe acest forum: Niciun utilizator înregistrat şi 2 vizitatori