Как заполнить массив с фиксированным шаблоном VBA? - PullRequest
0 голосов
/ 10 февраля 2020

Мне нужно заполнить массив фиксированной последовательностью номеров шаблонов, например, для каждого x-го числа элемента необходимо добавить 1.

Я пытался использовать for to step, например:

Option Explicit
Sub Test_Array()
    Dim Myarray(1 To 10) As Double
    Dim Element As Double
    Dim i As Long
    i = 1
    For Element = LBound(Myarray) To UBound(Myarray) Step 2
        Myarray(Element) = i
        i = i + 1
    Next Element    
End Sub 

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

Myarray=[1,0,2,0,3,0,4,0,5,0]

Но между каждым шагом необходимо заполнить предыдущий элемент, как в следующем примере:

Myarray=[1,1,2,2,3,3,4,4,5,5]

Я не знаю если for to step - лучший выбор.

1 Ответ

3 голосов
/ 11 февраля 2020

Вы можете сделать это:

Const STEP_SIZE As Long = 2
Dim Myarray(1 To 10) As Double
Dim Element As Long

For Element = LBound(Myarray) To UBound(Myarray)
    Myarray(Element) = Application.Ceiling(Element / STEP_SIZE, 1)
Next Element
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...