VBA: размещение значений различных переменных в ряду ячеек - PullRequest
0 голосов
/ 30 декабря 2018

Этот макрос является функцией «сохранения», которая принимает заданный набор параметров в модели и сохраняет их в строке в таблице.Я могу «перемещаться» по строке, используя цикл for и смещение, но я не уверен, как сохранить разные переменные в каждой ячейке.

Sub TestOffset()

Dim Counter As Integer
Dim StartingCell As Range
Set StartingCell = Range("C10")

For Counter = 0 To 15

StartingCell.Offset(0, Counter).Value = 1

Next Counter

End Sub

Это мой текущий код, но вместо того, чтобы ставить «1» в каждую ячейку, я бы хотел поместить в каждую переменную, такую ​​как спрос, предложение, стоимость, емкость.Это возможно?

Ответы [ 2 ]

0 голосов
/ 30 декабря 2018

Массив переменных

Убедитесь, что вы поместили строку vntVariables после изменения значений переменных.

Sub TestOffset()

    Dim vntVariables As Variant   ' Variables Array
    Dim Counter As Integer        ' Columns Counter / Array Rows Counter
    Dim StartingCell As Range     ' Starting Cell

    Dim Demand As Long
    Dim Supply As Long
    Dim Cost As Double ' Maybe Currency
    Dim Capacity As Long

    Set StartingCell = Range("C10")

    Demand = 3
    Supply = 7
    Cost = 2.99
    Capacity = 10

    vntVariables = Array(Demand, Supply, Cost, Capacity)

    For Counter = 0 To UBound(vntVariables)

        StartingCell.Offset(0, Counter).Value = vntVariables(Counter)

    Next

End Sub
0 голосов
/ 30 декабря 2018

Попробуйте использовать Choose функцию

Sub TestOffset()

    Dim Counter As Integer
    Dim StartingCell As Range

    Dim Demand As Long, Supply As Long, Cost As Long, Capacity As Long

    Set StartingCell = Range("C10")

    Demand = 5
    Supply = 6
    Cost = 7
    Capacity = 8

    For Counter = 1 To 4

    StartingCell.Offset(0, Counter).Value = Choose(Counter, Demand, Supply, Cost, Capacity)

    Next Counter

End Sub

Выход

enter image description here

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