Предположим, что в предыдущем коде нет ошибки:
Dim i As Integer
Dim cell_source As String
Dim cell_target As String
Dim cell_cellrow As String
Dim cell_source_input As Variant
For i = 0 To rng.Rows.Count
'Definition of source cell, target cell, and cell_row input
cell_source = rng.Cells
cell_target = rng.Cells.Offset(rowOffset:=0, columnOffset:=1)
cell_cellrow = rng.Cells.Offset(rowOffset:=0, columnOffset:=3)
cell_source_input = wsKpInput_source.Range(cell_source)
If cell_cellrow = "Cell" Then
wsKpInput_target.Range(cell_source) = cell_source_input
End If
Next
Должно быть:
Dim i As Integer
Dim cell_source As String
Dim cell_cellrow As String
Dim cell_source_input As Variant
For i = 0 To rng.Rows.Count
'Definition of source cell, target cell, and cell_row input
cell_source = rng.Cells(i,1).Value 'It seems to, but it is not clear with no sample
cell_cellrow = rng.Cells(i,1).Offset(0, 3).Value
cell_source_input = wsKpInput_source.Range(cell_source)
If cell_cellrow = "Cell" Then
wsKpInput_target.Range(cell_source) = cell_source_input
End If
Next
Надеюсь, это поможет ... Всегда будет лучше, если вы предоставите образецвход и ожидаемый результат. Во всяком случае, в коде, предшествующем этой процедуре, есть несколько проблем: sourceModel
не определен и кажется, что Range, targetModel
не определен и, кажется, это Range, Workbooks.Open(Filename:=sourceModel)
пытаетсяоткрыть один файл с именем файла, что он принимает диапазон ... проверить их ...