Скопировать> 10-колоночный многоколоночный список в пользовательской форме в массив - PullRequest
0 голосов
/ 17 сентября 2018

Я попробовал несколько решений на нескольких форумах, но, похоже, ничто не помогло.

Я почти уверен, что делаю какую-то глупую ошибку, и решение прямо у меня на глазах, но я не могу заставить его работать.

Мне нужно заполнить список в форме пользователя с 12 столбцами.

Насколько я знаю, для более 10 столбцов больше нельзя использовать *Атрибут 1009 * .List (i) , но для его заполнения необходимо использовать массив.Моя проблема в том, что каждый раз, когда мне нужно вставить новую строку в список , мне нужно скопировать элементы из списка в массив , redim массив , чтобы иметь еще одну строку, "вставить" новые данные в эту новую строку и, наконец, скопировать массив в список list .

Мой код выглядит следующим образом:

iLine = lbPlanPreview.ListCount
ReDim arr(iLine, lbPlanPreview.ColumnCount - 1)

If iLine > 0 Then
    ReDim arr(0 To iLine - 1, lbPlanPreview.ColumnCount - 1)

    'Array Lines
    For iCur = 0 To iLine - 1
        'Array Columns
        For iCurAux = 0 To lbPlanPreview.ColumnCount - 1
            arr(iCur, iCurAux) = Me.lbPlanPreview.ListIndex(iCur, iCurAux)
        Next iCurAux
    Next iCur
End If

Всегда выдает ошибку несоответствия типов:

Error message

Есть идеи?Спасибо.

1 Ответ

0 голосов
/ 17 сентября 2018

Исправить ListBox.List функция

Подумайте, ваше последнее назначение массива для восстановления предыдущих данных должно быть указано следующим образом и, возможно, ограничено lbPlanPreview.ListCount - 1:

'Array Lines
 For iCur = 0 To lbPlanPreview.ListCount - 1    ' possibly instead of: ILine - 1
    'Array Columns
    For iCurAux = 0 To lbPlanPreview.ColumnCount - 1
        arr(iCur, iCurAux) = Me.lbPlanPreview.List(iCur, iCurAux)
    Next iCurAux
 Next iCur
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...