Чтобы ответить на ваш вопрос о попытке записи макроса, вам на самом деле не нужно выполнять цикл, вы можете использовать vba, чтобы поместить формулу непосредственно в каждую ячейку диапазона. Итак, «Спекуляция» со студента @ Gary's, вот строчка, использующая его формулу.
ThisWorkbook.Sheets("Sheet1").Range("D1:D" & Cells(Rows.Count, "B").End(xlUp).Row).Formula = "=A1 & B1 & ""</li><ul>"" & C1 & ""</li><ul>"""
Вам нужно будет изменить рабочий лист в соответствии с вашими потребностями.