#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. Большое спасибо за вашу помощь 🙂