Страницы: 1
RSS
Помогите с автоподбором высоты строк
 
Есть диапазон ячеек, значения которых вычисляются по формулам. Результат может получаться довольно длинный.    
как сделать так, чтобы при изменении содержимого любой ячейки диапазона автоматически подбиралась высота строки?
 
Неужели никто не поможет?!
 
Запишите макрорекордером автоподбор высоты строки и поместите этот код в событие Worksheet_Change, изменив его с учетом, что нужная строка получается из переменной Target
 
Запишите макрорекордером автоподбор высоты строки и поместите этот код в событие Worksheet_Change, изменив его с учетом, что нужная строка получается из переменной Target
 
Макрос запишу, а в VBA не силен. Поможете?
 
{quote}{login=Сергей}{date=04.02.2008 10:23}{thema=}{post}Макрос запишу, а в VBA не силен. Поможете?{/post}{/quote}Всегда
 
как в итоге должен выглядеть макрос со всеми изменениями?
 
{quote}{login=Сергей}{date=05.02.2008 10:02}{thema=}{post}как в итоге должен выглядеть макрос со всеми изменениями?{/post}{/quote}В три строки. Две из которых:  
Private Sub Worksheet_Change(ByVal Target As Range)  
End Sub  
Что-нибудь получилось с записью?
 
Макрос на выравнивание высоты строк выглядит так  
Sub Подбор_высоты_стр()  
   Columns("B:B").Select  
   Selection.Rows.AutoFit  
End Sub  
 
Неудобно, что после его работы остается выделенный диапазон. И снимать выделение в макросе не очень хотелосьбы - курсор будет постоянно уходить в другую ячейку
 
Макрос на выравнивание высоты строк выглядит так  
Sub Подбор_высоты_стр()  
   Columns("B:B").Select  
   Selection.Rows.AutoFit  
End Sub  
 
Неудобно, что после его работы остается выделенный диапазон. И снимать выделение в макросе не очень хотелосьбы - курсор будет постоянно уходить в другую ячейку
 
Выделять не нужно.  
Вы не совсем то записали. Точнее не те действия, которые должны бы происходить.  
Еще раз перечитал первый пост темы. Ушли немного не туда.  
Вам нужен автоподбор высоты в той ячейке, которая изменилась или в той, которая пересчитала и ссылается на измененную?  
Если изменяемая ячейка, то  
Private Sub Worksheet_Change(ByVal Target As Range)  
Target.EntireRow.AutoFit  
End Sub  
если там где формулы пересчитались, то событие другое.  
пусть формулы в диапазоне A1:C10, тогда    
Private Sub Worksheet_Calculate()  
Range("A1:C10").EntireRow.AutoFit  
End Sub  
А макрорекордером производите минимум действий - только необходимые, например вот что у меня получилось:  
Sub Макрос1()  
'  
'  
   Rows("17:17").EntireRow.AutoFit  
End Sub  
 
Никакого выделения нет
 
ЛУЗЕР! Спасибо! Все работает!
 
Всем добрый! Предложенное решение как я понял не распространяется на объединенные ячейки. Для этого случая можно что-нибудь придумать?
 
{quote}{login=Конь}{date=28.09.2010 03:05}{thema=}{post}Всем добрый! Предложенное решение как я понял не распространяется на объединенные ячейки. Для этого случая можно что-нибудь придумать?{/post}{/quote}<BR> http://www.planetaexcel.ru/forum.php?thread_id=19253
Страницы: 1
Читают тему
Наверх