Так что я исследовал это некоторое время, но я, кажется, бью стену. Я признаю - я однажды успешно сделал это, сделал учебник для моих коллег - тогда я и никто другой не смогли повторить результаты. Я немного компетентен в Excel, но в VBA и кодировании в целом я все еще новичок (поэтому приношу свои извинения, если я упускаю что-то очевидное).
Я использовал код VBA из этого вопроса:Как объединить значения из нескольких строк в одну строку в Excel?
Sub CombineRowsRevisited()
Dim c As Range
Dim i As Integer
For Each c In Range("A2", Cells(Cells.SpecialCells(xlCellTypeLastCell).Row, 1))
If c = c.Offset(1) And c.Offset(,4) = c.Offset(1,4) Then
c.Offset(,3) = c.Offset(1,3)
c.Offset(1).EntireRow.Delete
End If
Next
End Sub
Это сработало успешно один раз. Я попробовал это снова, через час, и когда я запускаю тот же код - ничего не происходит. Я нажимаю кнопку запуска, и все выглядит одинаково.
Я впал в отчаяние и попробовал другой код в ранее упомянутом вопросе, но это не сработало бы с тем, как мои данные настроены / первоначальный автор все равно предпочел исходную формулу.
Ниже приведен пример данных, с которыми я работаю. Кто-нибудь есть какие-либо предложения или выявить какие-либо очевидные ошибки с моей стороны?
Кроме того, я не обеспокоен перезаписью данных в NON COURSE ID.