Создать список проверки

#excel #vba

Вопрос:

Я пытаюсь создать список проверки из массива одного измерения. Проблема в том, что этот код создает только один элемент в списке проверки. Одна большая строка с разделителем, и я хотел бы отобразить все элементы, разделенные запятой.

введите описание изображения здесь

 Sub test4()
    Dim aLineProd() As Variant
    Dim i As Long
    
    ReDim Preserve aLineProd(100)
    
    Do
        aLineProd(i) = ThisWorkbook.Worksheets(LIGNEPRODUCTION_SHEET_NAME).Range(INITIALCELL_ADRESS).Offset(i).Value
        i = i   1
    Loop Until ThisWorkbook.Worksheets(LIGNEPRODUCTION_SHEET_NAME).Range(INITIALCELL_ADRESS).Offset(i).Value = ""
    
    ReDim Preserve aLineProd(i - 1)
    
    Call CreateValidationListGeneric(LINENUMBERABLE_ADRESS, aLineProd(), CHECKPRODUCTCODESHEET_NAME)
End Sub

Sub CreateValidationListGeneric(CellAdress As String, _
aValidationList() As Variant, sWorksheetName As String)

    With Worksheets(sWorksheetName).Range(CellAdress).Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Operator:=xlBetween, Formula1:=Join(aValidationList, ",")
    End With
    
End Sub
 

Комментарии:

1. Я сделал отступ в коде для вас. 1. Дайте вашему сообщению содержательное название. 2. Объясните, чего вы пытаетесь достичь в этом посте. Название не предназначено для этого. 3. Также объясните в посте, чего вы ожидали и что вы получили, включая сообщение об ошибке, если таковое имеется…

2. Спасибо, это мой первый пост, я новый разработчик.

3. Без проблем. 🙂 Просто обновите свой пост, как я уже упоминал выше.

4. ждать. я обновлю его

5. Большое спасибо за вашу помощь 🙂