Excel 2010 Запись строки в ячейку [дубликат]
Вопрос
Я бы дал полное описание, но все необходимое уже было сказано в этом вопросе двухлетней давности, который остался совершенно нерешенным:
Запись строки в ячейку в Excel
Моя программа настолько проста, насколько это возможно:
`Sub separate()
Dim stri As String
Dim i As Long
stri = Sheets("HEXDUMP").Cells(1, 5).Text
For i = 0 To (Len(stri) / 4)
Sheets("HEXDUMP").Cells(i, 1).Value = Mid(stri, ((i * 2) + 1), 2)
Sheets("HEXDUMP").Cells(i, 2).Value = Mid(stri, ((i * 2) + 3), 2)
Next i
End Sub`
Все, что мне нужно, это взять строку и разбить ее на ячейки по два символа в каждой.Конечно, все работает отлично, за исключением того, что он не будет записывать в ячейку, что бы вы с ней ни делали.Я попробовал снять защиту. Я попробовал .text. Я попробовал создать новый лист, перезапустив его.Это ошибка в Excel, и все, что мне нужно на данный момент, — это обходной путь.
Решение
У вас ошибка в коде.
Для i = 0
, т.е.первой итерации вашего цикла, следующий код выдаст ошибку:
... .Cells(i, 1) ...
... .Cells(i, 2) ...
как нет строки 0.Измените его на:
... .Cells(i + 1, 1) ...
... .Cells(i + 1, 2) ...
и это сработает.Не уверен, что это именно то, что вам нужно, но, по крайней мере, это не выдаст ошибку.