В своей электронной таблице я пытаюсь объединить ячейки в два столбца по горизонтали. После их слияния я хочу, чтобы они имели такую же ширину в сумме, как и один столбец раньше.
For i = 16 To 25
With ThisWorkbook.Worksheets(week_sheet_name)
.Rows(i).AutoFit
h = ThisWorkbook.Worksheets(week_sheet_name).Rows(i).RowHeight
.Range("V" & i & ":W" & i).MergeCells = True
.Columns(22).ColumnWidth = 40
.Columns(23).ColumnWidth = 30
.Rows(i).EntireRow.RowHeight = h
End With
Next
В этом цикле он автоматически подбирает строки до идеальной высоты (ширина столбца столбца 22 до цикла равна 70), после чего я сохраняю высоту в переменной h и объединяю ячейки V и W строки i. Ширина столбца установлена равной 40 и 30, чтобы в сумме они были такими же, как у предыдущего столбца. Последним шагом является применение высоты строки, поскольку она была автоматически подогнана ранее. Например. в одной ячейке автоподгонка делает ее 144 в высоту, после макроса это 264, что равно количеству, которое было бы, если бы я автоподбирал ее, но с шириной ячейки всего 40.
Если я делаю это только для одной строки (без цикла for), все работает отлично. Если я не изменю ширину столбца 22, он также будет работать с циклом, но мне нужно, чтобы ширина была 40.
Как я мог заставить его работать?