Увеличьте ComboBox с шагом 0,1 в VBA - PullRequest
0 голосов
/ 15 мая 2019

У меня есть Combobox в пользовательской форме в слове. Я пытаюсь заполнить номер редакции документа. На данный момент я могу только увеличить его на полные числа 01, 02, 03 и т. Д.

То, что я на самом деле хочу, это увеличение с шагом 0,1, то есть - 1,0, 1,1, 1,2, 1,3 и т. Д.

Я попытался изменить форматирование с "00" на "0.0" или "0.1", но это только продолжает формат и не добавляет 0.1 к каждому последующему уровню.

Private Sub UserForm_Initialize()
Dim sSaved As String
Dim i As Integer
Dim docType As String

On Error Resume Next
    For i = 0 To 20
        cboRev.AddItem Format(i, "00")
    Next i

1 Ответ

2 голосов
/ 15 мая 2019

Десятичные числа не являются целыми по определению. Вместо этого объявите i как double и используйте Step 0.1 для увеличения на десятую:

Private Sub UserForm_Initialize()
Dim sSaved As String
Dim i As Double
Dim docType As String

For i = 0 To 20.1 Step 0.1
    cboRev.AddItem Application.WorksheetFunction.Round(i, 1)
    'cboRev.AddItem Format(i, "0.0") 'alternative
Next i
...