Симптоми
Когато изпълнявате макрос или друг програмен код на Microsoft Excel, който задава правила за проверка на данни за клетка като списък от валидни записи, всички елементи в списъка за проверка на данни в клетката се показват на един ред.
Причина
Това поведение възниква, когато са изпълнени следните условия:
-
Настройката за разделител на списък (под Регионални опции в контролния панел) е нещо друго от точка и запетая (,). Например ако вашата настройка за езикова променлива е Германия, разделителят на списъци е точка и запетая.
-
Макросът за проверка на данни използва този разделител на списъци, за да определи валидните записи на клетки.
-
Кодът за макроси указва списъка изрично, вместо да сочи към диапазон от клетки, където са посочени валидните записи.
Заобиколно решение
Когато създавате макрос, за да укажете конкретен списък с валидни записи, винаги използвайте точка и запетая (,) като разделител за списък.
Повече информация
В Excel Microsoft Visual Basic for Applications винаги използва запетая като разделител за списък. Това ви позволява да изпълнявате макрос на компютри, които имат различни настройки на езикова променлива, без да е необходимо да редактирате кода си. Когато преминавате масив с разделители със запетаи, използващ VBA (XLValidateList formula1) за проверка на данни, се прилага ограничение на знаците за 255. Когато стартирате макрос, който използва разделител за списък, за да промените настройка, макросът конвертира запетаята в локалния разделител за регионални списъци. Например това се случва, ако макросът създава списък за проверка на данни или въвежда формула в клетка с помощта на командата диапазон. формула (number1;number2) .
Препратки
За повече проверка на данни в informationabout в Excel щракнете върху следния номер на статия, за да видите статията в базата знания на Microsoft:
211485 Описание и примери за валидиране на данни в Excel