Я работаю над таблицей CSV Excel и столкнулся с проблемой с макросом VBA.
Мой оригинальный файл CSV выглядит следующим образом: ![Initial situation](https://i.stack.imgur.com/aw9wH.jpg)
То, что я пытаюсь сделать, просто, я хотел бы обнаружить, когда есть разные опции в «Option1Name», и разделить данные (Имя + Значение) в следующем столбце.
Вот окончательный результат: ![Final result of the macro](https://i.stack.imgur.com/TjxRL.jpg)
Когда я выполняю свой макрос, он перемещает данные в другой столбец, но только в первый ряд:
![enter image description here](https://i.stack.imgur.com/PEEbl.jpg)
Вот мой код:
Sub fillHandle()
Dim i As Long
Dim optStart As Integer
'Start counting the option
optStart = 2
For i = 2 To 6000
Column2 = Sheets("products").Range("I" & i).Value
If IsEmpty(Range("H" & i)) = False Then
If optStart <> 2 Then
If Sheets("products").Range("I" & i - 1).Value <> Column2 Then
Sheets("products").Range("J" & i).Value = Sheets("products").Range("H" & i).Value
Sheets("products").Range("K" & i).Value = Column2
Sheets("products").Range("H" & i).Value = ""
Sheets("products").Range("I" & i).Value = ""
End If
End If
Else
'If option cell is blank then we set the i variable with the row of the column
optStart = i
End If
Next i
End Sub