Страницы: Пред. 1 2 3 4
RSS
Автоподбор высоты строк в объединенных ячейках
 
т.е.     .Protect UserInterfaceOnly:=True
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
{quote}{login=Fix31}{date=14.10.2011 12:25}{thema=}{post}Это можно исправить?{/post}{/quote} В следующей версии надстройки)
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Итак, что "мы" имеем в версии 3.9:  
 
- обработка в режиме "Разметка страницы" теперь по времени занимает столько же, что и в "Обычном режиме". Раньше это длилось значительно дольше, почти в 3 раза;  
- вместо кнопки на панели задач, функция интегрирована в меню. Найти ее просто, она располагается рядом со "стандартным" автоподбором (excel 2003);  
- исправлены потенциальные ошибки.  
 
 
Чему "мы" научились за это время:  
 
а) подбирать высоту строк с:  
- объединенными ячейками  
- обычным ячейками  
- теми и другими в одной строке (по максимальной высоте)  
б) не отображать скрытые строки (если таковые имеются). "Стандартный" автоподбор на это не способен  
в) обзавелись прогресс-баром, дабы можно было отследить ход выполнения задачи на объемных документах  
 
 
Наши недостатки:  
- "халтурим" при любой защите листа, книги, общей книги  
- делаем свое дело дольше, чем стандартный автоподбор  
 
 
В архиве помимо надстройки присутствует функция с открытым кодом (почти идентичным надстройке), которую разработчики могут использовать в своих проектах для решения аналогичных задач.  
 
 
p.s.: при установке новой версии надстройки, предыдущую желательно деинсталировать.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
p.s.: при установке новой версии надстройки, предыдущую желательно деинсталировать.  
Для не специалиста, подскажите как деинсталировать.
Fix
 
Подскажу:  
1. Сервис -> Надстройки, снимаем галочку с "Аптоподбор высоты".  
2. Сервис -> НАСТРОЙКА, выбираем в списке "Автоподбор высоты" и жмем удалить.  
Перезапускам Excel.  
 
Кстати, данная версия надстройки (3.9) будет удаляться проще: только первый пункт.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
ексель 2007. В параметры Exel -> Надстройки-> автоподбор высоты отсутствует, но на ленте в надстройках есть автоподбор есть!???
Fix
 
Насчет 2007 и выше не скажу...
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
{quote}{login=Вован}{date=18.10.2011 01:37}{thema=}{post}ексель 2007. В параметры Exel -> Надстройки-> автоподбор высоты отсутствует, но на ленте в надстройках есть автоподбор есть!???{/post}{/quote}  
 
кнопка "Office"-> параметры Exel -> Надстройки -> Управление (Надстройки Exel) перейти -> обзор  
После установки  на панели Exelпоявится закладка "Надстройки " в ней "Пользовательский автоподбор высоты"
 
\Последняя версия автоподбора здесь http://excelvba.ru/programmes/AutoFit
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
nerv,  
 
получилось уйти от одного минуса (по крайне мере у меня заработало), а именно  
Наши недостатки:  
- "халтурим" при любой защите листа, книги, общей книги  
 
после    
With Application  
дописываем  
Worksheets("Лист1").Unprotect Password:="1111" 'Разпароливаем Лист1    
 
так же в конце функции, после    
.ActiveWindow.View = v  
дописываем  
Worksheets("Лист1").Protect Password:="1111" 'Запароливаем Лист1  
 
мало ли кому пригодиться!
 
А если пароль не известен, что дописывать?  
 
Те реализации автоподбора, кот. я выкладывал выше, содержат ряд недостатков. Каких, говорить, не буду : ) Ссылку на последнюю стабильную рабочую версию я также давал.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
я предложил решение для разработчиков, а не для пользователей. Т.е. разрабатываю некую форму Шаблона, что бы потом передать пользователям. Для меня так же имеется приоритет, что бы пользователи могли заполнять только определенные ячейки, а не все.    
 
так же хочу поделиться...  
вот добавил на Лист1  
 
Private Sub Worksheet_Change(ByVal Target As Range)  
UserAutoFit ActiveSheet.UsedRange 'название функции из версии nerv_Function_UserAutoFit_3.9.xls  
End Sub  
 
автоматически позволит срабатывание функции Автоподбора высоты строк, только в тех ячейка, в которые внесли изменения.
 
Допустим, вариант со снятием и установкой защиты листа работает. А если кто поставит защиту общей книги или включит общий доступ?  
 
>так же хочу поделиться...  
Я бы не советовал так делать. У Вас будет пересчитываться вся используемая область листа. На больших объемах будет тормозить.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Надеюсь тему не совсем забросили)  
 
Я как полный нуль в макросах хотела спросить у многоуважаемых гуру...возможно ли задать условие делать автоподбор высоты строк в таблице, в кот. заранее известно расположение первой строки, но не известно окончательное кол-во строк?  
Если честно мне надо в готовый макрос, подсказанный на этом чудесном форуме, добавить такое условие. Макрос из темы http://www.planetaexcel.ru/forum.php?thread_id=16778, он чудным образом большой массив данных разбивает на отдельные листы по образцу и в результате получаются заполненные автоматически таблички, но вот высота строк в них не регулируется, а поскольку у меня наименования бывает длинное часто часть просто скрыта. Т.е. надо со строки 15 и по конец таблицы, но не дальше делать вручную регулировку высоты строк...не очень удобно :(
 
http://excelvba.ru/programmes/AutoFit >возможно ли задать условие делать автоподбор высоты строк в таблице, в кот. заранее известно расположение первой строки, но не известно окончательное кол-во строк? выделяете весь лист и подбираете
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
nerv,  
а нельзя увидеть данный файл в открытом виде? Желательно выложить :)  
а то при открытии надстройки уверенно пишет "project is unviewable" Так понимаю, постарался защитить свой файл, и получилось неплохо :))
 
Почти все что есть в нем, я уже выкладывал. Разве что, исправил некоторые существенные баги : )
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
nerv,  
мне на самом деле хотелось уточнить один момент. Как можно сделать, что бы автоподбор работал к конкретной ячейке, а не ко всему использованному диапозону (не через надскройку)?  
 
немного дописал,  
UserAutoFit ActiveSheet.UsedRange.Range("CY46")  
 
но автоподбор работает не совсем корректно :((    
 
Подскажи плииз :)
 
уважаемый Nerv, спасибо Вам огромное за надстройку она просто незаменима в работе, но вот в одном случае почему-то работает некорректно. не могли бы Вы сказать что не так в примере или может подредактировать надстройку?  
 
не работает если в выделенном для автоподбора диапазоне есть скрытая строка  
 
заранее спасибо!
 
{quote}{login=GIG_ant}{date=01.02.2011 03:33}{thema=Автоподбор высоты строк в объединенных ячейках}{post}Добрый день, уважаемые !  
Собственно вопрос: есть файлик в нем куча строк с объединенными ячейками, в этих строках куча текста и видна в каждой строке только часть текста. Соответственно автоподбор высоты строк на объединенных не работает, а нужно увидеть весь текст и распечатать. Пока что я впал в ступор и не могу ничего придумать. Буду признателен за участие в решении этого вопроса. Наглядности в файле.{/post}{/quote}  
подготовка для печати вордом  
разметьте c:\rab\  
Sub Макрос120322()  
Dim j1, j2  
Dim s1, s2  
 
Open "c:\rab\120322.doc" For Output As #1  
Print #1, "<html>"  
Print #1, "<meta http-equiv=""Content-Type"" content=""text/html; charset=windows-1251"" />"  
Print #1, "<style>"  
Print #1, "p{font-family:arial;font-size:9pt;}"  
Print #1, "th{font-family:arial;font-size:7pt;}"  
Print #1, "td{font-family:arial;font-size:8pt;}"  
Print #1, "td.f1{font-family:arial;font-size:1pt;}"  
Print #1, "h1{font-family:arial;font-size:14pt;}"  
Print #1, "h2{font-family:arial;font-size:12pt;}"  
Print #1, "h3{font-family:arial;font-size:10pt;}"  
Print #1, "b{color:red;}"  
Print #1, "i{color:blue;}"  
Print #1, "</style>"  
Print #1, "<body>"  
Print #1, ""  
 
 
j1 = 0  
Do While j1 < 20  
j1 = j1 + 1  
j2 = 0  
If j1 = 2 Or j1 = 12 Then  
Print #1, ""  
Do While j2 < 18  
j2 = j2 + 1  
Print #1, "
"  
Print #1, "<pre>"  
Print #1, Cells(j1, 1)  
Print #1, "</pre>"  
Else  
Debug.Print  
Print #1, "
"; IIf(Len("" & Cells(j1, j2)) = 0, "-", Cells(j1, j2))  
Loop  
End If  
Loop  
Print #1, "
"  
 
Close #1  
End Sub
 
maG, уберите из строки UsedRange, т.е. должно получиться ActiveSheet.Range("CY46")  
Если есть необходимость, можете через запятую задать несколько ячеек:  
ActiveSheet.Range("CY46,B2") и т.д. <= 30  
 
Максим, у меня работает нормально. Я уже устал повторять, что последняя версия здесь - http://excelvba.ru/programmes/AutoFit  
 
 
Возможно, если будет время, на следующей неделе обновлю данную надстройку и еще эту http://excelvba.ru/code/DropDownList до бесплатной версии.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
{quote}{login=nerv}{date=22.03.2012 05:27}{thema=}{post}  
Максим, у меня работает нормально. Я уже устал повторять, что последняя версия здесь - http://excelvba.ru/programmes/AutoFit{/post}{/quote}  
 
да, действительно у меня 3.9 была. А 4.2 работает корректно!  
 
ещё раз спасибо
 
nerv,  
 
Спасибо большое!!!  
   
Все равно появляются небольшие косяки. Высоту иногда выстраивает меньше, чем надо. И не всегда все содержимое ячейки. Буду думать и импровизировать, как можно уйти от таких ситуаций)
 
maG, приведите пример
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
nerv,  
пример прикладываю.  
 
Если конкретно брать ячейку CY46,  
1. В ячейке прописываем текст - привет1 привет2 привет3 привет4 привет5 привет6  
2. Запускаем Автоподбор на ячейку CY46  
3. Меняется высота и ведем только - привет1 привет2 привет3 привет4    
 
Оставшейся текст - привет5 привет6    
остается в зоне невидимости :(    
 
Благодарю за проявленную клиентоориентированность и инициативу оказать помощь!)))  
 
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
 
Прошу прощение за размер :)  
 
Выкладываю файл уже с меньшим размером.
 
Nerv, подскажите (для тугих)  
 
Какой алгоритм подбора высоты?  
 
Есть определенный диапазон в одну строку (A1:H1) , например  
Пишу туда Большой текст.    
Как в моем случае авто подбор сработает
 
алгоритм надстройки подбора высоты основан на возможности экселя автоматически подбирать высоту. Если ячейка обычная, высота подбирается стандартным способом, если нет, она разбивается, подбирается высота, а затем вычисляется необходимая высота за вычетом объединенных строк, затем ячейка опять объединяется. Это в двух словах.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Спасибо!
 
а как сделать что бы при открытии этот макрос срабатывал на определенные ячейки или на весь документ, без нажатия дополнительных кнопок...  
Спасибо
Страницы: Пред. 1 2 3 4
Наверх