Как правило, вам следует избегать .Select
, как описано здесь .
Попробуйте этот код:
Sub alternateAlignLeft()
For rowx = 2 To 1000 Step 2
Cells(rowx, "J").HorizontalAlignment = xlLeft
Next
End Sub
Sub alternateAlignRight()
For rowx = 2 To 1000 Step 2
Cells(rowx, "J").HorizontalAlignment = xlRight
Next
End Sub
Чтобы объяснить: Cells
занимает двааргументы: RowIndex
и ColumnIndex
.Итак, вы выполнили форматирование для столбца 1, который является столбцом A
.Выражение .Select
, которое было до этого, на самом деле вообще не влияет на эту строку, так как нет ссылки на Selection
.
Обратите внимание, что вы также должны квалифицировать все свои Range
объекты, например так:
ThisWorkbook.Sheets("Sheet1").Cells(rowx, "J").HorizontalAlignment = xlRight
Это необходимо скорректировать в соответствии с вашим вариантом использования.