Не удалось установить выбранное свойство многостолбцового ListBox в пользовательской форме Excel VBA - PullRequest
0 голосов
/ 16 января 2019

Я не могу проверить элемент в многостолбцовой форме пользователя ListBox. Строка lstPreConditionLogic.Selected(lstPreConditionLogic.ListCount) = True генерирует следующую ошибку:

Ошибка времени выполнения '380': не удалось установить свойство Selected. Неверное значение свойства

Я попытался установить значение -1, checked, но оно не сработало.

Код VBA

Private Function FillPreConditionLogicList()
    Dim varTemp             As Variant
    Dim intLoop             As Integer
    Dim strExpression       As String
    Dim PreConditionLogic   As clsPreConditionLogic

    With lstPreConditionLogic
        .ColumnCount = 3
        .ListStyle = fmListStyleOption
        .MultiSelect = fmMultiSelectMulti
        strExpression = TrimBlank(shtExpressionEditor.Range("rngExpText").Offset(, 1).Value)
        For intLoop = 0 To mDicPreConditionLogic.Count - 1
            Set PreConditionLogic = mDicPreConditionLogic.Items(intLoop)
            .AddItem
            .List(intLoop, 0) = PreConditionLogic.Name
            .List(intLoop, 1) = PreConditionLogic.StartEnclosure
            .List(intLoop, 2) = PreConditionLogic.EndEnclosure
            varTemp = GetEnclosedString(strExpression, PreConditionLogic.StartEnclosure, PreConditionLogic.EndEnclosure)
            If varTemp <> "" Then
                lstPreConditionLogic.Selected(lstPreConditionLogic.ListCount) = True '//Gives Error
                strExpression = varTemp
            End If
        Next
    End With
End Function

1 Ответ

0 голосов
/ 16 января 2019

Вы должны вычесть -1 из вашего .ListCount

lstPreConditionLogic.Selected(lstPreConditionLogic.ListCount - 1) = True

Поскольку статистика индекса списка рассчитывается как 0, но, например, если ListCount = 5, то индекс этих 5 записей: 0, 1, 2, 3, 4, что означает последний действительный индекс .ListCount - 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...