Разбираем, почему в VBA не меняется шрифт, хотя код выполняется. Причины, ловушки и реальные примеры. Вы пишете макрос, всё выглядит правильно, ошибок нет, код отрабатывает для каждой ячейки — а на листе не меняется ничего. И возникает ощущение, что VBA «не применяет» изменения. На практике в 90% случаев проблема не в коде. Она в том, как Excel работает с форматированием. Разберёмся на реальном примере. Есть цикл по ячейкам: For Each old_c In Current.Range(Current.Cells(1, 1), Current.Cells(lLastRow, lLastCol)).Cells
Set new_c = new_sh.Cells(old_c.Row, old_c.Column)
new_c.Font.Name = old_c.Font.Name
Next old_c Код проходит по всем ячейкам, выполняется без ошибок, но шрифт визуально не меняется. И кажется, что строка: new_c.Font.Name = old_c.Font.Name не работает. Самая частая ситуация — банальная. Шрифт уже одинаковый. Вы копируете:
— Calibri → Calibri
— Arial → Arial Excel честно выполняет присвоение, но визуально ничего не происходит. Код отработал идеально, просто результата не ви