• Архив

    «   Июнь 2019   »
    Пн Вт Ср Чт Пт Сб Вс
              1 2
    3 4 5 6 7 8 9
    10 11 12 13 14 15 16
    17 18 19 20 21 22 23
    24 25 26 27 28 29 30
                 

Мерзкий глюк с выпадающими списками

При работе над очередным проектом обнаружил весьма неприятный глюк с выпадающими списками в Excel.

Если при создании списка в качестве источника (Source) задавался не диапазон ячеек, а текст, то его длина (оказывается!) ограничена 8192 (2 в 13-й степени) символами. Причем при превышении этого значения файл (или макрос, если это делалось в нем) вылетает с ошибкой, а после перезапуска - умирают все выпадающие списки во всех ячейках листа, где было превышение. Нифига себе подарочек.
Вот простой макрос для желающих испытать на себе. Вылетает четко на 8192 символе любого списка и рушит все другие списки листа:
Sub Test_Dropdown_Limit()   
   For i = 1 To 10000   
      With [a1].Validation   
         l = l & "A,"  
         Debug.Print i & " " & Len(l)   
        .Delete   
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
                 Operator:=xlBetween, Formula1:=l   
       End With  
   Next i   
End Sub  
Наверх