Есть разница между Selection
и Activecell
. Activecell
всегда только одна ячейка - ячейка, которая имеет фокус. С помощью оператора выбора вы меняете Activecell
на первую ячейку выделения - в вашем случае C6
. Ваш оператор выравнивания просто устанавливает выравнивание этой ячейки.
Вы можете изменить свой код на selection.horizontalAlignment = xlleft
. Однако прежде чем вы это сделаете, вы должны понять, что в VBA нет необходимости выбирать что-либо, и вам следует избегать этого по многим причинам. Прочтите Как избежать использования Select в Excel VBA
Вы можете написать
range("C6", range("C6").end(xldown)).horizontalAlignment = xlleft
Мне все равно это не нравится, потому что предполагается, что лист вы работа с активна (что тоже не обязательно), но это приводит к тому, что этот ответ слишком далеко объясняет все детали.