У меня есть некоторый код VBA, написанный в Excel 2010 для принудительного заполнения строк в таблице, но часть кода влияет только на последнюю строку в диапазоне. Вот полный код:
Private Sub FixRowHeight_Click()
Dim rng As Range
Dim eRow As Excel.Range
Dim padding As Integer
padding = 10
With Worksheets("Issues")
Set rng = .Range("A2").End(xlDown)
rng.Select
.Rows.AutoFit
For Each eRow In rng.Rows
eRow.Select
eRow.VerticalAlignment = xlCenter
eRow.RowHeight = eRow.RowHeight + padding
Next eRow
End With
End Sub
Учитывая, что каждый раз, когда я запускаю его, весь диапазон автоматически соответствует высоте строки, кажется, что проблема заключается только в цикле for-each. Все, что заключено в этот цикл, прекрасно работает для последней строки в диапазоне, но это все. Ни на одну другую строку не влияет ни одно из двух фактических изменений в цикле (выравнивание по вертикали и отступ).
Весь файл .xlsm представляет собой простую книгу с одним листом (остальные 2 листа по умолчанию удалены). Содержимое - это просто таблица в стиле по умолчанию, начиная с A1 с заголовками столбцов и включенной сортировкой, без функций, но с добавлением текущей даты.
У меня есть некоторый опыт программирования, но нет ни одного в VBA (или любой другой VB). Любая помощь будет принята с благодарностью!