• Архив

    «   Апрель 2024   »
    Пн Вт Ср Чт Пт Сб Вс
    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  
Наверх