Страницы: 1
RSS
Как сделать чтобы макрос выполнялся в любой выделенной ячейке
 
Прошу оказать помощь в создании макроса , который бы выполнялся на всех выделенных ячейках в диапазоне. Макрорекордером декодером я написала макрос только для одной ячейки, а вот как сделать так чтобы он выполнялся во всех выбранных ячейках незнаю. Суть в том что надо в объеденненных ячейкая выбрать те, что невмещаются в строку (в табл они выделены цветом)и сделать перенос по словам с изменением высоты ячейки. Файлов поступает по эл почте в течении дня много , и праавка каждого вручную отнимает время. Кол-во строк каждый раз разное.    
буду признательно за помощь.
 
непонятно немного...  
вам надо чтобы автоматом желтенькие обработала?  
или чтобы само нашлось и обработалось?  
 
если вы предварительно вручную отмечаете цветом, то ничего сложного потом обработать.  
 
а вот чтобы сами такие проблемные ячейки искались и обрабатывались - это проблематично.  
вижу тут только такой выход:  
в форме поменять шрифт на Courier или другой моноширинный. с таким шрифтом уже можно будет работать.
 
В Поиск: "Автоподбор высоты строк".
 
Наталка, было на форуме - поищите. Подбор высоты и ширины ячейки. Делал кажется Казанский. Там учитывается любой шрифт и его размер. А также Nerv выкладывал решение по подбору высоты ячейки.  
Игорь67
 
Нет надо не закрасить цветом ( это пример что выбираются некоторые ячейки ). На форуме что то не нашла, я для ячейки в 4 строке написала макрос, а вот как это сделать чтобы действовало в других выбранных ячейках не знаю((((((((
 
Код по Вашему вопросу (добавил только 2 строки в начале и 1 в конце, остальное не трогал):  
 
Sub Макрос222()  
'  
' Макрос222 Макрос  
'  
' Сочетание клавиш: Ctrl+z  
Dim a As Range  
For Each a In Selection  
       With a  
       .HorizontalAlignment = xlLeft  
       .VerticalAlignment = xlCenter  
       .WrapText = True  
       .Orientation = 0  
       .AddIndent = False  
       .IndentLevel = 0  
       .ShrinkToFit = False  
       .ReadingOrder = xlContext  
       .MergeCells = True  
        End With  
       a.RowHeight = 34.25  
Next a  
End Sub  
 
Работает в выделенном диапазоне.  
 
Но он сделает высоту одинаковую для всех строк (34,25), вне зависимости есть там перенос строки или нет.  
Т.к. автоподбор высоты строк для объединенных ячеек не работает, то имеются некоторые сложности.  
Поэтому выше я дал ссылку про Поиск. Там сразу выйдет тема, где уважаемый nerv выкладывал надстройку для автоподбора высоты строк для объединенных ячеек.  
Сам ею пользуюсь, очень удобная штука (благодарность nerv-у).
 
тем, у кого не работает Поиск:  
http://www.planetaexcel.ru/forum.php?thread_id=23911  
 
(nerv-у спасибо, хоть пока и не пользуюсь:)
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Всем большое спасибо за внимание и советы. Скачала настройку от nerv. Все работает ! Так что ему отдельно огромное спасибо!!!!  
И вообще спасибо Всем на этом сайте, я многому научилась на Ваших примерах!!!
Страницы: 1
Читают тему
Наверх