2015-11-06 4 views
0

Я хочу сохранить значение в C1012 для каждой модели с 1 до 1000. Я пересчитываю весь столбец C рабочего листа MC. Я должен хранить значения моделирования в столбце BF Я написал код, но не выдал никакого результата.Пересчет в ExcelVBA и сохранение вывода в каждом моделировании

Dim i As Integer 

Для я = 1 К 1000

SimulationArray(i) = Cells(1012, 3).Value 
Worksheet(MC).Column(C).Calculate 

Следующая я

Sheets ("MC") Диапазон. ("BF1: BF1000") = SimulationArray

Пожалуйста, помогите. Благодаря

+0

Несколько вопросов происходит, но при наличии 'Cells (1012, 3)', каждый элемент массива будет содержать то же значение (потому что 'cells' постоянна). – findwindow

+0

@findwindow Для каждого моделирования ячейка (1012,3) изменится, а затем я должен сохранить 1000 симулированных значений после пересчета в этой ячейке в массиве моделирования. Как это сделать ? – quant1

+0

Как вы меняете эту ячейку? Что такое симуляция? – findwindow

ответ

1

Попробуйте это:

Sub trythis() 
Dim SimulationArray(1 To 1000) 
Dim i As Integer 
For i = 1 To 1000 

    SimulationArray(i) = Cells(1012, 3).Value 
    Sheets("MC").Range("C:C").Calculate 
Next i 

Sheets("MC").Range("BF1:BF1000").Value = Application.Transpose(SimulationArray) 

End Sub 
+0

Я попробую это. Но почему вы написали Transpose (Simulation Array)? Является ли SimulationArray (i) хранением данных по размеру столбца? – quant1

+0

Массив горизонтальный, без него весь столбец заполняется только первым значением. Путем транспонирования он поворачивает его вертикально. –

+0

Я написал код и запустил .. Это говорит об ошибке компиляции. Только комментарии могут появляться после End Sub, End Function или End Property. – quant1

Смежные вопросы