![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 19.11.2009
Сообщений: 6
|
![]()
Более детально проблема выглядит так:
Как можно копировать в один и тот же столбец на фиксированном листе данные из одного и того же диапазона ячеек с других листов? Листы генерируются макросом по очереди, автоматически им присвается имя от "Январь" до "Декабрь". Т.е. в любой момент времени существует только один "календарный" лист и с него нужно одним нажатием в нужный момент перекинуть значение диапазона в другой лист. Через некоторое время генерируется новый каледарный лист и цикл повторяется. Хотелось бы запускать один макрос, а не 12 в течение года. "Отработанные" листы не удаляются, а прячутся в книге, т.е. сослаться на уже существующие листы можно всегда. |
![]() |
![]() |
![]() |
#2 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
![]() Цитата:
Ну и не забудьте на примере показать, что, откуда и куда надо копировать. |
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 19.11.2009
Сообщений: 6
|
![]()
Я вложил макет, надеюсь, там всё понятно.
|
![]() |
![]() |
![]() |
#4 |
Регистрация: 19.11.2009
Сообщений: 6
|
![]() Код:
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 15.05.2008
Сообщений: 2,058
|
![]()
Как один из вариантов, можно решать Вашу задачу так - см.вложение.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499 |
![]() |
![]() |
![]() |
#6 |
Регистрация: 19.11.2009
Сообщений: 6
|
![]()
Спасибо! На макете работает, на практике ещё не пользовался, Есть только одно но: в предлагаемом решении оператор должен вручную выбирать месяц из списка. Т.к. файл в целом служит задачам планирования, то месяцы в файле не всегда связаны с реальным временем. Чтобы оператор не задумывался о том, какой из 12 возможных вариантов выбора предпочесть, хотелось бы иметь кнопку (на макете она в виде рисунка с символом "$"), при нажатии на которую диапазон копировался бы автоматически, безальтернативно, не оставляя ни единого шанса человеческому фактору.
Алгоритм простой: как бы не назывался предыдущий лист - тупо копировать из него. Серая кнопка служит всего лишь для распечатки бланка с проставленными ценами и переноса их в другую программу, увы, несовместимую с EXCEL никаким образом. Написать нужный расчётный модуль в ТОЙ программе и в сытое время у программеров руки не доходили, а теперь от их команды и вовсе один человек остался. Вот и приходится с предпенсионными мозгами толкаться среди студентов. ![]() |
![]() |
![]() |
![]() |
#7 | ||
Старожил
Регистрация: 15.05.2008
Сообщений: 2,058
|
![]() Цитата:
Цитата:
Выбирайте.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499 |
||
![]() |
![]() |
![]() |
#8 |
Регистрация: 19.11.2009
Сообщений: 6
|
![]()
Огромное спасибо! Я как раз и хотел второй вариант.
Перекинул макрос в рабочую книгу, раз пять промоделировал годовую работу файла - работает как часы. |
![]() |
![]() |
![]() |
#9 |
Новичок
Джуниор
Регистрация: 27.05.2010
Сообщений: 1
|
![]()
немного переделал скрипт.
Копирует данные из диапазона ячеек с листа именем вчерашнего дня в лист именем сегодняшнего(формат имени листа дд.мм.гг) Sub остаток_на_утро() 'от предыдущенго дня Application.ScreenUpdating = False On Error GoTo ErrHandler yesterday = Format(Now - 1, "dd.mm.yy") Today = Format(Now, "dd.mm.yy") Worksheets(yesterday).[H4:H39].Copy 'длина колонки Worksheets(Today).[B4].PasteSpecial Paste:=xlValues Application.CutCopyMode = False [B4].Select MsgBox "остатки внесены", , "ввод остатков" Exit Sub Application.ScreenUpdating = True ErrHandler: MsgBox " Неправильный формат даты ", , "Ошибка пользователя !!!" End Sub Последний раз редактировалось d_imarik; 28.05.2010 в 10:33. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача на выборочное копирование ячеек в уже открытую другую книгу | noobnoob | Microsoft Office Excel | 8 | 23.11.2009 06:13 |
несколько разных строк из разных файлов сформировать в один | Иван123456 | Microsoft Office Excel | 3 | 30.07.2009 17:05 |
Копировать данные из разных ячеек по нескольким листам в один лист | Dorvir | Microsoft Office Excel | 2 | 11.06.2008 10:10 |
Вставка значений из разных листов | AntiZero | Microsoft Office Excel | 2 | 16.11.2007 18:27 |