|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.12.2012, 16:55 | #1 |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 135
|
Доводка макроса
Уважаемые форумчане, здравствуйте!
В одной из тем подсмотрел макрос от IgorGO, решил подработать его для своих задач и загруз. При запуске(Кнопка1), создаются отдельные листы для каждой единицы техники с одноименными названиями листов. Вопрос: 1.Как сделать чтобы название листа состояло из модели техники и его бортового или гос. номера? т.е. в названии листа должны присутствовать данные столбцов 3 и 4(D155E №24) 2. Как выполнить автонумерацию строк созданных листов? 3. Как организовать итоговую строку на каждом листе(сумма выданного топлива, столбец 7)? 4. Возможно ли чтобы листы создавались в отдельной книге ? Понимаю, что вопросов много, поэтому буду весьма благодарен за любой ответ. Благодарю за внимание. |
21.12.2012, 12:55 | #2 |
Форумчанин
Регистрация: 16.04.2010
Сообщений: 695
|
если правильно понял и правильно сделал то так:
Единственный способ стать умнее, играть с более умным противником...
|
21.12.2012, 16:24 | #3 |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 135
|
staniiislav - ОООгромное спасибо, все именно так, за маленьким исключением, а именно: D155E №24 и D155E №25 это однотипные бульдозера, но имеющие разные бортовые номера(№24 и №25) т.е. это абсолютно разные единицы техники и соответсвенно должны быть разнесены по разным листам(D155E №24 и D155E №25 соответственно), как и ПАЗ А676СХ и ПАЗ А767СХ имеющие разные гос. номера(А676СХ и А767СХ).
staniiislav, если Вы еще раз обратите свое внимание на данную тему - будьте добры прокомментируйте часть кода ReDim avArr(1 To 8, 1 To 1) ' ?????? With New Collection On Error Resume Next For Each vItem In Range("C14:C21").Value 'Cells(Rows.Count, 1).End(xlUp) - определяет последнюю заполненную ячейку в столбце А .Add vItem, CStr(vItem) If Err = 0 Then li = li + 1: avArr(li, 1) = vItem Else: Err.Clear End If Next |
21.12.2012, 18:16 | #4 |
Форумчанин
Регистрация: 16.04.2010
Сообщений: 695
|
этот код взят у Дмитрия (The_Prist) вот от сюда:
http://www.excel-vba.ru/chto-umeet-e...sya-znachenij/ как он работает можно почитать по ссылке выше (я его лишь немного переделал под ваш приме) проверяйте, буду вопросы пишите Код:
Единственный способ стать умнее, играть с более умным противником...
Последний раз редактировалось staniiislav; 21.12.2012 в 18:23. |
21.12.2012, 18:46 | #5 |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 135
|
Спасибо, staniiislav, все ОК, без Вашей помощи я бы не осилил данную задачу. Буду разбираться на этом примере, чтобы знать как подобное чудо делается.
|
23.12.2012, 22:13 | #6 |
Форумчанин
Регистрация: 16.04.2010
Сообщений: 695
|
еще вариант с помощью словаря:
Код:
Единственный способ стать умнее, играть с более умным противником...
|
24.12.2012, 17:42 | #7 |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 135
|
Здравствуйте форумчане!
1. staniiislav, благодарю за второй вариант, но я еще все в первом "плаваю", возникли вопросы. а). При совпадении бортовых номеров(в отличии от гос. номеров для разных типов техники как то; - бульдозер, экскаватор, автосамосвал и т.д. они не уникальны и могут повторяться) все они(бульдозер, экскаватор, автосамосвал) попадают в один лист вновь созданной книги "Заборная ведомость", а это не правильно(см. лист Заборная ведомость, книга2 где D155E №25, а БелАЗ 5548 №25 -автосамосвал). б). Не соображу куда вклиниться в коде, для форматирования диапазона ниже 13 строки в вновь создаваемых листах книги "Заборная ведомость" для форматирования границ и и шрифта. в). Как отобразить присвоенное имя листа в ячейке G3 ? г). Как при вставке шапки (стр. 1-13)в вновь создаваемых листах книги "Заборная ведомость" сохранить формат(ширина строк) ?. д). Лист "Заборная ведомость" книги2 создан для наглядности. 2. При всей моей признательности staniiislavу буду рад помощи и других участников форума. Спасибо за внимание. |
25.12.2012, 10:50 | #8 |
Форумчанин
Регистрация: 16.04.2010
Сообщений: 695
|
..............................
Единственный способ стать умнее, играть с более умным противником...
|
25.12.2012, 11:15 | #9 |
Форумчанин
Регистрация: 16.04.2010
Сообщений: 695
|
.......................
Код:
Единственный способ стать умнее, играть с более умным противником...
Последний раз редактировалось staniiislav; 25.12.2012 в 12:22. |
25.12.2012, 11:48 | #10 |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 135
|
staniiislav, благодарю за готовое решение. Единственный способ стать умнее, играть с более умным противником... - ооочень верный девиз.
Думаю, Ваши решения в данной теме помогут многим начинающим. Тему можно закрывать. Дякую. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вызов макроса внутри другого макроса. | Небесный | Microsoft Office Word | 1 | 05.11.2012 22:38 |
Требуется доводка приложения на flash | Joker77 | Фриланс | 0 | 14.08.2012 21:41 |
доводка проекта | nikozavr | C# (си шарп) | 2 | 03.09.2011 00:30 |
Изменение макроса | Vaniq | Microsoft Office Excel | 2 | 25.08.2009 13:45 |
Запуск макроса с параметрами из другого макроса | Saladin | Microsoft Office Excel | 2 | 19.01.2009 09:43 |