Здравствуйте, народ. У меня, для примера, имеются три книги Эксель: Лист Microsoft Office Excel; Лист Microsoft Office Excel (2); Лист Microsoft Office Excel (3) (файлы приложу). Имеется макрос (он работает, скачайте и откройте все три книге, и запустите макрос в книге с меньшим количеством данных (без фамилии). Макрос выполняет, то, что нужно. Но, чтобы он работал, должны быть обязательно запущены книги: Лист Microsoft Office Excel и Лист Microsoft Office Excel (2). Как сделать так, чтобы эти книги можно было не запускать для выполнения макроса? И ещё, макрос отказывается работать в четвёртой и более новых книгах? Как это исправить?
шаблон то одинаковый? если да, то можно не открывать ЭТИ книги, а все делать в одной и пересохранять поднужными именами, но смысла не вижу.. зачем вообще нужны эти открытые книги?
Не понимаю вопроса? Вы видели, что делает макрос? Он ЗАПОЛНЯЕТ книгу "Лист Microsoft Office Excel (3).xlsm" (если его активировать в ней) некоторыми данными из книги "Лист Microsoft Office Excel (2).xlsm" ("Лист Microsoft Office Excel.xlsm" тоже должна быть открыта, но данные в ней для макроса те же, что и во второй). И вот 2 вопроса: 1. как сделать так, чтобы мне не надо было каждый раз вручную открывать первую и вторую книги? 2. как заставить макрос работать в 4-й и последующих книгах? Вы меня извините, но мне не понятно, что Вам не понятно?
экселист написал: Он ЗАПОЛНЯЕТ книгу "Лист Microsoft Office Excel (3).xlsm" (если его активировать в ней) некоторыми данными из книги "Лист Microsoft Office Excel (2).xlsm"
да ничего подобного макрос прописывает жестко определенные данные в жестко определенные ячейки во все три книги, ничего не копирует, вы сами себя обманываете
Слэн написал: макрос прописывает жестко определенные данные в жестко определенные ячейки во все три книги, ничего не копирует, вы сами себя обманываете
Но данные он берёт из одной книги. Я писал макрос посредством "Записать макрос". Во время записи я копировал и вставлял нужные данные, а также форматы ячеек. И получился такой макрос. Пусть он Не копирует, но он вставляет в книгу данные, которые повторяются. Первые две книги изначально заполнены. 3-ю надо заполнить теми же данными и форматами (только теми, что в макросе прописаны) Поясню. У меня на самом деле имеются отчёты КМ-6. Мне надо, чтобы макрос записывал повторяющиеся данные и форматы в каждый новый отчёт. Чтобы я каждый раз не вводил их вручную. В примере я привёл отчёты только с теми данными и форматами, которые повторяются (книга1 и книга2). Форматы в ячейках в столбце "Порядковый номер контрольного счетчика (отчета фискальной памяти) на конец рабочего дня (смены)" и строке "Смена". Мне нужно чтобы макрос при его запуске автоматически вставлял эти данные и форматы в другие такие отчёты (например книга3). Как это сделать?
Повтор\ю, я делал макрос через "Записать макрос" Копировал из одной книги и вставлял в другую. Но это не важно, так как
Цитата
экселист написал: Поясню. У меня на самом деле имеются отчёты КМ-6. Мне надо, чтобы макрос записывал повторяющиеся данные и форматы в каждый новый отчёт. Чтобы я каждый раз не вводил их вручную. В примере я привёл отчёты только с теми данными и форматами, которые повторяются (книга1 и книга2). Форматы в ячейках в столбце "Порядковый номер контрольного счетчика (отчета фискальной памяти) на конец рабочего дня (смены)" и строке "Смена". Мне нужно чтобы макрос при его запуске автоматически вставлял эти данные и форматы в другие такие отчёты (например книга3). Как это сделать?
мало что понял. но предположу - может быть, достаточно создать шаблон с настроенными форматами и "повторяющимися данными"? а новый отчет создавать на основе этого шаблона. и не придется вообще ничего никуда копировать.
фрилансер Excel, VBA - контакты в профиле "Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
Неа не пойдёт. Дело в том, что отчёт не создаётся в эксель, а выгружается в него из другой программы. Поэтому его придётся править. Но некоторые данные и форматы, которых изначально нет в выгруженном отчёте, повторяются из отчёта в отчёт. Вот мне и нужно вставлять их в новые выгруженные отчёты не в ручную, а посредством макроса.
экселист, почему это не пойдёт? С уважаемым ikki согласен. Делал макрос, который накладные из 1С раскидывал по маршрутам, формировал два листа общих (Погрузка и ИТОГО) и два листа (Погруз.лист и ТТН) отдельно для каждого маршрута на основе шаблонных листов.
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori
Экселист. Скорее всего это задание можно решить проще. Напишите, что Вы имеете в начале (приложите файлы), и что должно получиться в конце (приложите файлы).
Из того, что написано выше, мне не понятно, какой результат вам нужен.
UPD: Подробно напишите откуда вы берете данные для каждой ячейки.
в Правилах всё написано. само собой - не все их читают. потому что чихать хотели на советы и рекомендации. а потом темы вместо пары постов растягиваются на пару страниц.
фрилансер Excel, VBA - контакты в профиле "Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
Короче в начале имеем файлы "Лист Microsoft Office Excel.xlsm" и "Лист Microsoft Office Excel (3).xlsm" нужно чтобы в файле "Лист Microsoft Office Excel (3).xlsm" автоматически при нажатии на кнопку или ещё как, но не само, а если я указал экселю, заполнялись ячейки, как в файле "Лист Microsoft Office Excel.xlsm" (сравните файлы. Они отличаются тем, что в одном некоторые ячейки заполнены, а в другом - нет). Файлы из программы 1С я сохраняю, как файл Эксель
Мда. Нужно менять саму процедуру работы с файлами.
UPD: Поскольку в вашем файле только Иванов. Рекомендую расположить его в удобном месте как шаблон и каждый раз делать с него копии. В описанном Вами случае макросы не нужны.
anvas написал: Мда. Нужно менять саму процедуру работы с файлами.
Как? Если я в программе 1С Розница нажимаю Файл-Сохранить как - Лист эксель. Потом открываю этот лист эксель и правлю. Как мне иначе работать с файлом? Мне нужно автоматически проставлять повторяющиеся данные и форматы - так как каждый день - новый отчёт по тому же принципу. Часть данных повторяются, как в ранее сделанном. Надо их автоматически скопировать, а не вручную.
anvas написал: Поскольку в вашем файле только Иванов. Рекомендую расположить его в удобном месте как шаблон и каждый раз делать с него копии.
Не получится\ - так как я каждый раз НЕ создаю новый файл из самого эксель, а выгражаю его из 1С в ЭКСЕЛЬ. В этом случае никак не прикрепить к шаблону. То есть файл эксель СОЗДАЁТ ДРУГАЯ программа сама, а не я.
Я, честно говоря, так и не понимаю, что автор вопроса хочет в итоге получить и из каких исходных данных. Гораздо проще (я так думаю) было бы, если бы автор сказал нам нечто следующее: "Отцы! Вот из 1С выгружаю путем сохранения в формате Excel отчет такой-то. Вот файл он какой исходный. А надо мне из него получить отчет немного другого вида в новом файле (вот другой файл, в котором показан конечный результат). Как?"
anvas, Да данные одни и те же (те, которые в файлах. Есть ещё данные, но они разнятся. Я привёл пример одинаковых данных - т.е. одна фамилия, модель ККМ и форматы указанных ячеек). Во потому что я заполняю одни и те же данные, я и хочу автоматизировать этот процесс, а не каждый раз вбивать их вручную.
Пытливый, Я так и говорю. Выгружаю из 1С путем сохранения в формате Excel отчет КМ-6 исходный файл - Лист Microsoft Office Excel (3).xlsm(23.06 КБ) . Нужно чтобы он стал Лист Microsoft Office Excel.xlsm(28.74 КБ) Так понятно? Фамилии, номер и формат в столбце "Порядковый номер контрольного счетчика (отчета фискальной памяти) на конец рабочего дня (смены)" и формат в строке "Смена" всегда одни и те же.
Решение: 1. Попросите, чтобы Вам написали макрос, который вставит в определенные ячейки нужный вам текст (например, "Иванов И.И." и так далее). 2. Закройте все книги эксель. 3. Откройте книгу PERSONAL.XLSB, которая расположена по адресу похожему на мой: C:\Users\Anatoly\AppData\Roaming\Microsoft\Excel\XLSTART. 4. Запишите туда новый макрос, назовите его как-нибудь (например "Иванов").
Теперь он доступен Вам из любой книге при нажатии кнопок Alt + F8. Там он будет называться "Иванов". Запускаете его. Вуаля - и все готово.
UPD: При желании можно назначить быстрые клавиши, например Ctrl + ы.
Выгружаю из 1С путем сохранения в формате Excel отчет КМ-6 исходный файл - Лист Microsoft Office Excel (3).xlsm (23.06 КБ) . Нужно чтобы он стал Лист Microsoft Office Excel.xlsm (28.74 КБ). Фамилии, номер и формат в столбце "Порядковый номер контрольного счетчика (отчета фискальной памяти) на конец рабочего дня (смены)" и формат в строке "Смена" всегда одни и те же. Лучше всего, как я понимаю, макросом, который вставит в определённые ячейки определённые значения и форматы.