«Пустой элемент в конце списка» - PullRequest
1 голос
/ 13 июня 2019

Я использую Excel 2007. Я только начал изучать некоторые vba, чтобы улучшить свои электронные таблицы.При заполнении списка списком с помощью массива в нижней части списка появляется пустое пространство.

Если я заполняю список с помощью диапазона из электронной таблицы, все выглядит нормально.Но при использовании массива пустой элемент добавляется внизу.Поэтому, когда я устанавливаю для ListStyle значение 1, в нижней части списка появляется дополнительная кнопка или флажок с пустым пространством.Есть ли способ исправить это?

Private Sub UserForm_Initialize()

    Dim myArray(5) As String

    myArray(0) = "January"
    myArray(1) = "February"
    myArray(2) = "March"
    myArray(3) = "April"
    myArray(4) = "May"

    With ListBox1
        .ColumnCount = 1
        .ColumnWidths = "60"
        .List = myArray
    End With

    With ListBox2
        .ColumnCount = 1
        .ColumnWidths = "60"
        .List = Range("Months").Value
    End With

End Sub

1 Ответ

0 голосов
/ 13 июня 2019
Dim myArray(5) As String

Это не создает массив с 5 элементами; он создает массив с неявной нижней границей 0 и явной верхней границей из 5, в результате чего массив содержит 6 элементов ...

myArray(0) = "January"
myArray(1) = "February"
myArray(2) = "March"
myArray(3) = "April"
myArray(4) = "May"

... с последним оставленным начальным значением по умолчанию, пустой строкой.

Объявить явные нижние и верхние границы:

Dim myArray(0 To 4) As String

И «пустой элемент внизу» должен исчезнуть.

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