Data Validation din Excel nu este Case Sensitive

Informatii despre cum se utilizeaza Microsoft Excel 2003. Calcule, Formule, Functii, Tabele pivot, Analiza datelor, etc
smcsa
Mesaje: 2805
Membru din: Mar Sep 29, 2009 7:29 pm
Localitate: Timisoara

Data Validation din Excel nu este Case Sensitive

Mesaj de 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 Mar Apr 06, 2010 10:45 am de către smcsa, modificat 1 dată în total.
Motiv: Modificat titlul pentru o mai buna explicitare

Avatar utilizator
Dr.Excel
Site Admin
Site Admin
Mesaje: 1997
Membru din: Sâm Ian 24, 2009 1:45 pm
Localitate: Bucharest
Contact:

Data Validation din Excel nu este Case Sensitive

Mesaj de 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)

MCT, MCITP
MOS Master Instructor
IT Learning

MrExcel
Mesaje: 106
Membru din: Mar Feb 23, 2010 11:09 pm

Data Validation din Excel nu este Case Sensitive

Mesaj de 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.

Dr. Cloud
Mesaje: 3327
Membru din: Mar Oct 02, 2012 11:19 am

Data Validation din Excel nu este Case Sensitive

Mesaj de 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.

smcsa
Mesaje: 2805
Membru din: Mar Sep 29, 2009 7:29 pm
Localitate: Timisoara

Re: Data Validation din Excel nu este Case Sensitive

Mesaj de 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.

Dr.Windows
Moderator
Moderator
Mesaje: 4570
Membru din: Vin Iul 31, 2009 7:32 am

Re: Data Validation din Excel nu este Case Sensitive

Mesaj de 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. Cloud
Mesaje: 3327
Membru din: Mar Oct 02, 2012 11:19 am

Re: Data Validation din Excel nu este Case Sensitive

Mesaj de 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

smcsa
Mesaje: 2805
Membru din: Mar Sep 29, 2009 7:29 pm
Localitate: Timisoara

Re: Data Validation din Excel nu este Case Sensitive

Mesaj de 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: )

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

Re: Data Validation din Excel nu este Case Sensitive

Mesaj de 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: 4197
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: Data Validation din Excel nu este Case Sensitive

Mesaj de 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.

Închis

Înapoi la “Intrebari despre Excel 2003”