Я пытаюсь добавить значения в ячейку в формате списка, если соблюдены определенные критерии. Сначала я не смог назначить значения напрямую, поэтому создал массив для старых значений, соответствующих критериям. однако теперь, когда я пытаюсь присвоить значения массива ячейке в формате списка с приведенным ниже кодом, я получаю
ошибка несоответствия типов
ThisWorkbook.Sheets("Plan").Cells(i, 5).Validation.Add _
Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Formula1:=Join(St, ",")
Может кто-нибудь подсказать, как этого добиться или есть способ присвоить значения напрямую, не удерживая их в массиве. помните, что список не является непрерывным и ему нужно только выбрать значения, которые соответствуют моему условию.
Sub try()
Dim j,k As Long
Dim c As Range
Dim st As Object
Set st=CreateObject("System.Collections.ArrayList")
For j=5 To 150
If(Workbook.Sheets("Plan").Cells(i,1)= Workbook.Sheets("Master").Cells(j,1))Then
For k= 6 To 150
If(Workbook.Sheets("Master").Cells(j,k)<>"") Then
For Each c In Workbook.Sheets("Master").Cells(1,k)
Select Case c.Value
Case"Starch" st.Add Workbook.Sheets("Master").Cells(3,k)
EndSelect
Nextc
EndIf
Next k
EndIf
Next j
Workbook.Sheets("Plan").Cells(i,5).Validation.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, Formula1:=Join(st,",")
End Sub