Simptome
Atunci când rulează o macrocomandă Microsoft Excel sau alt cod de programare care setează regulile de validare a datelor pentru o celulă ca listă de intrări valide, toate elementele din lista de validare de date din celulă apar pe o linie.
Cauză
Acest comportament are loc atunci când sunt adevărate următoarele condiții:
-
Setarea separator de listă (sub Opțiuni regionale din panoul de control) este altceva decât o virgulă (,). De exemplu, dacă setarea setări regionale este Germania, separatorul de listă este punct și virgulă.
-
Macrocomanda pentru validarea datelor utilizează separatorul de listă pentru a specifica intrările de celulă valide.
-
Codul de macrocomandă specifică lista în mod explicit, în loc să indice spre o zonă de celule în care sunt listate intrările valide.
Soluție de evitare
Atunci când creați o macrocomandă pentru a specifica o anumită listă de intrări valide, utilizați întotdeauna o virgulă (,) ca separator de listă.
Mai multe informații
În Excel, Microsoft Visual Basic for Applications utilizează întotdeauna virgula ca separator de listă. Acest lucru vă permite să difuzați o macrocomandă pe computere care au setări regionale diferite, fără a fi necesar să editați codul. Atunci când trece o matrice delimitată prin virgulă utilizând VBA (XLValidateList Formula1) pentru validarea datelor, se aplică o limitare a caracterelor 255. Atunci când se execută o macrocomandă care utilizează un separator de listă pentru a modifica o setare, macrocomanda face conversia virgulei în separatorul de listă regională locală. De exemplu, acest lucru se întâmplă dacă macrocomanda creează o listă de validare de date sau introduce o formulă într-o celulă utilizând comanda Range. formula (număr1,number2) .
Referințe
Pentru mai multe informații validarea datelor în Excel, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
211485 Descrierea și exemple de validare de date în Excel