Строка списка проверки VBA длиннее 255 грн. - PullRequest
0 голосов
/ 21 марта 2019

У меня есть таблица в качестве источника данных.В зависимости от содержимого ячейки я выбираю данные, которые хочу включить в список проверки.Работает нормально, пока строка не превысила 255 символов.Я видел, что есть ограничение, что я могу использовать именованный диапазон вместо строки, разделенной запятыми, однако я не знаю, как это сделать из VBA.Я думаю, что я должен сделать что-то похожее на uppend.или, может быть, я могу создать именованный диапазон напрямую, избегая строки.Любая идея?

Пожалуйста, смотрите код функции:

Function GetPOholder()
Dim ws, ws1 As Worksheet
'Dim Source_PO_Holder As Range ', people As Range
Dim item As Variant
Dim test As Variant
Dim list, division As String

'change Sheet1 to suit
Set ws = ThisWorkbook.Worksheets("lists")
Set ws1 = ThisWorkbook.Worksheets("Sheet1")
division = ws1.Range("Division").value

Debug.Print "Division: " & division

ws1.Range("ordered_by").Validation.Delete 'delete previous validation
For Each item In ws.Range("name_ordered_by")
    test = Application.WorksheetFunction.Index(ws.Range("Source_people_div"), Application.WorksheetFunction.Match(item, ws.Range("name_ordered_by"), 0))
    If test = division Then
        list = list & "," & item
        Debug.Print test & " " & item
    End If
Next
list = Right(list, Len(list) - 1)
ws1.Range("ordered_by").Validation.Add Type:=xlValidateList, Formula1:=list
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...