|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
09.01.2009, 17:39 | #1 |
Регистрация: 09.01.2009
Сообщений: 5
|
вопрос о циклах
Коллеги, добрый день!
Есть таблица сотрудников которым нужна доверенность: фамилия, телефон и т.д. Есть доверенности на этих сотрудников в формате .xls, которые находятся в папке Х. Нужно чтобы при нажатии кнопки Excel, проверял столбец, например, А4 считывал фамилию и по этой информации открывал одноименный файл, распечатовал его, сохранял и закрывал. Потом проверял А5, А6 и т.д. LResult = VBA.Trim(Range("А4")) ChDir "Х:\Доверенность" Workbooks.Open Filename:="Х:\Доверенность\" & LResult & ".xls" ActiveWindow.SelectedSheets.PrintOu t Copies:=1 Workbooks(LResult & ".xls").Close savechanges:=True А на цикле, что то меня заклинило. Подскажите пожалуйста. |
09.01.2009, 17:58 | #2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
ответ о циклах...
попробуйте так:
Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
09.01.2009, 18:11 | #3 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Можно попробовать примерно так:
Код:
Не понял, зачем сохранять файл, если мы не вносили в него изменения. Разве что только ради того, чтобы сохранить дату и время последней распечатки... |
09.01.2009, 18:19 | #4 |
Форумчанин
Регистрация: 25.08.2008
Сообщений: 159
|
или так
Код:
|
09.01.2009, 18:39 | #5 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Гораздо проще сделать так: В тот же файл, гда у Вас столбцы с фамилиями, добавляем лист с шаблоном доверенности. Все изменяемые поля шаблона (там где фамилия и другие реквизиты) заполняются формулами - формулы подставляют в ячейки значения из строк листа с данными. На кого в данный момент заполнена доверенность, определяется значением какой-либо одной ячейки. (если в ячейке стоит 1, то доверенность заполнена на Иванова - так как его данные в первой строке, если в ячейке 2 - то на Сидорова, и т.д.) Тогда распечатка доверенностей значительно упрощается. Не надо открывать множество книг - на это уходит время, да и возможны ошибки (файл повреждён, отсутствует, переименован, и т.п.) А в предложенном мной варианте всё просто: в цикле меняем значение в одной ячейке (1, 2, 3 и т.д.) и выводим на печать лист шаблона. И каждый раз доверенность у нас печатается на другого человека. У такого подхода есть ещё куча преимуществ. |
|
09.01.2009, 19:03 | #6 |
Регистрация: 09.01.2009
Сообщений: 5
|
Во-первых спасибо, что откликнулись.
А теперь по порядку. Да, в доверенности сохраняется дата и порядковый номер доверенности Private Sub Workbook_Open() Range("E1") = Range("E1") + 1 End Sub По поводу все в одном: в доверенности нужно вводить паспорт, а в таблице этого не нужно. В таблице просто информация на сегодняшний день. |
09.01.2009, 19:15 | #7 | |
Регистрация: 09.01.2009
Сообщений: 5
|
Цитата:
цикл пошел от А4 и до пустой строки, проверяя все ячейки? |
|
09.01.2009, 19:30 | #8 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
да, предполагается за А4 последовательный ряд с данными. Первая пустая ячейка в колонке А оборвет перемещение вниз. Я не знаю как ваши данные организованы, увы...
Закрутите цикл от 4 до Х
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
10.01.2009, 13:16 | #9 | |
Регистрация: 09.01.2009
Сообщений: 5
|
Цитата:
Получается, что то не так во второй строчке кода. |
|
10.01.2009, 13:25 | #10 |
Регистрация: 09.01.2009
Сообщений: 5
|
Все спасибо ВСЕМ.
IgorGO отдельное спасибо, сделал по твоему примеру. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
вопрос | Exo | Microsoft Office Excel | 2 | 04.12.2008 17:07 |
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) | Albert2008 | Общие вопросы Delphi | 4 | 21.08.2008 15:33 |
вопрос по сокетам и общение как в ICQ.Сложный вопрос... | Руслантус | Общие вопросы C/C++ | 2 | 12.08.2008 21:10 |
Вопрос | Mitron | О форуме и сайтах клуба | 1 | 11.02.2008 06:26 |
Вопрос! | Rahim1993 | Общие вопросы Delphi | 3 | 07.01.2008 01:16 |