|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.05.2009, 14:20 | #1 |
Регистрация: 18.05.2009
Сообщений: 7
|
Вопрос по форматированию
Если возможно, посоветуйте, как в VBA из активной ячейки охватить определенный диапазон для форматирования: например, изменяется активная ячейка в столбике В:В (может быть В36, а может В52), необходимо выделить диапазон ячеек из этой активной ячейки до постоянноя ячейки Е10.
Cells(Row, 2).Select так заканчивается макрос и далее нужно выделить необходимый диапазон для форматирования. И еще вопрос, как лучше ввести данные из буфера в ячейки уже отформатированные (то есть копируются в одном формате, а вставляются уже в другом) |
21.05.2009, 15:26 | #2 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Правой кнопкой на ярлычке листа, выбираем пункт ИСХОДНЫЙ ТЕКСТ.
Так мы попадаем в модуль кода выбранного листа Туда вставляем такой код: Код:
Цитата:
Код:
Вариантов множество. Для получения готового решения прикрепите файл, и объясните, чего Вы пытаетесь добиться. (добавлено после просмотра файла) Цитата:
Автоматизировать, конечно, можно. Но разбираться в файле потребуется долго, поэтому я не возьмусь за это.
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 21.05.2009 в 17:03. |
||
21.05.2009, 16:51 | #3 |
Регистрация: 18.05.2009
Сообщений: 7
|
Пытаюсь автоматизировать создание ком. предложения с сбором информации с разных страниц и приведению к единому виду.
|
21.05.2009, 18:09 | #4 |
Регистрация: 18.05.2009
Сообщений: 7
|
А можете дать какие нибудь советы по улучшению, так как Вы уже знаете смысл доработок.?
|
22.05.2009, 13:07 | #5 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Прежде всего, надо избавляться от всех Select-ов.
Они абсолютно не нужны, и только замедляют макрос. Возьмём, к примеру, код: Код:
Гораздо быстрее код будет работать в таком варианте: Код:
Например, вместо 2 строк: Cells(Row, 3).Select ActiveCell.FormulaR1C1 = "2. Система кормления:" вполне достаточно одной: Cells(Row, 3) = "2. Система кормления:" |
26.05.2009, 15:00 | #6 |
Регистрация: 18.05.2009
Сообщений: 7
|
Большое спасибо за помощь. Сделал корректировки, работает намного быстрее, форматирует заданный диапазон, в общем супер. Напишите пожалуйста еще фрагмент макроса с форматированием вставки текста, пример:
Cells(Row, 3) = "3. Система поения:" (хотелось бы вставить текст в формате Сourier New, жирный, 12 размер) Cells(Row, 1) = "111" Sheets("ПОЕНИЕ").Select Selection.AutoFilter Field:=23, Criteria1:="<>" Range("AZ2:BF56").Copy Sheets("Коммерческое предложение").Select Row = Application.CountA(Range("A:A")) + 4 Cells(Row, 1).PasteSpecial Paste:=xlValues (хотелось бы вставить текст в формате Сourier New, нежирный, 11 размер) В прикрепленном файле обновленный пример |
26.05.2009, 16:01 | #7 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Форматирование-то недолго сделать.
Только с Вашим подходом к решению задачи придётся часто вносить изменения в макрос. Возьмём, к примеру, этот кусок кода: Код:
Всё делается намного проще. Даже не нужны дополнительные столбцы с формулами. Но, чтобы написать универсальный макрос, надо учитывать множество нюансов. Если у Вас есть возможность объяснить мне через Skype, как это всё должно работать, то сделаю весь макрос. Если разговаривать по Скайпу Вы не можете, сделаю только форматирование ячеек (и то чуть попозже - через пару часов, не раньше) |
26.05.2009, 18:45 | #8 |
Регистрация: 18.05.2009
Сообщений: 7
|
Спасибо за участие. Вы правильно заметили, что с изменением кол-ва продукции с таким подходом прийдется переписывать макрос. А смысл такой, что бы сделать ком предложение набирая информацию с разных листов; конечно хорошо, если на листе ничего не выбрано, что бы и в ком предложении ничего не отражалось. В общем автоматическое ком предложение со сбором информации с разных листов с отображением только выбранной продукции.
|
26.05.2009, 18:56 | #9 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Цитата:
Чтобы написать макрос, надо знать ответ на этот вопрос (и многие другие сопутствующие вопросы) Или подробно описывайте на форуме, как всё должно работать, или звоните через Скайп, и объясняйте все нюансы. Иначе написание макроса может затянуться очень надолго... |
|
27.05.2009, 11:12 | #10 |
Регистрация: 18.05.2009
Сообщений: 7
|
Выбор производится на листе, то есть выбираеш необходимое оборудование, например поение и ставиш нужное количество вручную и так далее, а затем формируется ком пред.
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужна помощь по форматированию | max_paine | Microsoft Office Excel | 1 | 26.11.2008 11:07 |
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) | Albert2008 | Общие вопросы Delphi | 4 | 21.08.2008 15:33 |
вопрос по сокетам и общение как в ICQ.Сложный вопрос... | Руслантус | Общие вопросы C/C++ | 2 | 12.08.2008 21:10 |
есть вопрос мб по условному форматированию | Exo | Microsoft Office Excel | 6 | 03.04.2008 12:33 |
Тип даты не поддается форматированию | multyaga | Microsoft Office Excel | 2 | 22.12.2006 10:54 |