Добрый день. Можно ли макросом изменять высоту строк в объединенных ячейках в зависимости от содержимого ячейки, т.е. если текст в ячейке занимает 1 строчку, то высота ячейки составит 20 пикселей, если 2 строки, то 40 пикселей и т.д. P.S. Высота по умолчанию установлена в 20 пикселей.
Добрый день. Можно ли макросом изменять высоту строк в объединенных ячейках в зависимости от содержимого ячейки, т.е. если текст в ячейке занимает 1 строчку, то высота ячейки составит 20 пикселей, если 2 строки, то 40 пикселей и т.д. P.S. Высота по умолчанию установлена в 20 пикселей.Garik007
sboy, спасибо, вроде работает. Не подскажете как можно поменять диапазон ячеек, к которым применяется данный макрос, хотелось бы доработать под свои файлы.
sboy, спасибо, вроде работает. Не подскажете как можно поменять диапазон ячеек, к которым применяется данный макрос, хотелось бы доработать под свои файлы.Garik007
Garik007, не совсем понял, конкретезируйте вопрос... Вам нужен конкретный диапазон? данный макрос устанавливает высоту строк, в зависимости от длины значений ячеек 2-го столбца, с 1 строки по последнюю заполненную в столбце 1.
Garik007, не совсем понял, конкретезируйте вопрос... Вам нужен конкретный диапазон? данный макрос устанавливает высоту строк, в зависимости от длины значений ячеек 2-го столбца, с 1 строки по последнюю заполненную в столбце 1.sboy
sboy, файл был приложен для примера, а в работе мне нужно будет изменять высоту строк в одном документе в зависимости от текста, находящегося, например, в ячейках F18:F28, В37:В46 и др. Диапазоны ячеек разные, файлов достаточно много.
sboy, файл был приложен для примера, а в работе мне нужно будет изменять высоту строк в одном документе в зависимости от текста, находящегося, например, в ячейках F18:F28, В37:В46 и др. Диапазоны ячеек разные, файлов достаточно много.Garik007
Сообщение отредактировал Garik007 - Понедельник, 20.03.2017, 17:44
Sub Height_strok() For x = 1 To Cells(Rows.Count, 1).End(xlUp).Row ' здесь задаются строки, в данном примере с 1 по последнюю заполненную q = Int(Len(Cells(x, 2).Value) / 95) + 1 ' Cells(x,2) - это ячейка с текстом, где х - это строка(см.выше), 2 - это столбец Rows(x).RowHeight = 15 * q Next x End Sub
[/vba] сделал комментарии по диапазонам
[vba]
Код
Sub Height_strok() For x = 1 To Cells(Rows.Count, 1).End(xlUp).Row ' здесь задаются строки, в данном примере с 1 по последнюю заполненную q = Int(Len(Cells(x, 2).Value) / 95) + 1 ' Cells(x,2) - это ячейка с текстом, где х - это строка(см.выше), 2 - это столбец Rows(x).RowHeight = 15 * q Next x End Sub