Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2009, 10:55   #1
KNatalia
Пользователь
 
Регистрация: 14.08.2009
Сообщений: 66
По умолчанию Метод Paste из класса Worksheet завершен неверно

Подскажите, в чем причина!
Я пытаюсь отфильтрованные макросом данные в таблице скопировать и вставить в другой лист этой же книги. Почему данные вставляются, но постоянно выводится ошибка " Метод Paste из класса Worksheet завершен неверно"? Как её избежать?


Sub Работа_с_отфильтрованными_данными()

Application.Run "Экономическая_задача.xls!ДобавитьЗ апись"

Sheets("Shipping").Select
Columns("A:Z").Select
Selection.Copy

Sheets("Лист1").Select
Columns("A:A").Select
ActiveSheet.Paste

End Sub
KNatalia вне форума Ответить с цитированием
Старый 28.10.2009, 12:24   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте KNatalia.
Если хотите увеличить вероятность получения помощи, выложите, здесь на форуме, архив с Вашим файлом - наработкой.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 28.10.2009, 17:22   #3
KNatalia
Пользователь
 
Регистрация: 14.08.2009
Сообщений: 66
По умолчанию

В приложении файл, нажимаем на пуск (предварительно там можно нажать очистить фильтр), задаем даты, закрываем пользовательское окошко, выбранные данные должны скопироваться на Лист1.
Данные копируются, но при этом выдается сообщение об ошибке.
Подскажите, в чем проблема?

Еще есть один вопрос:
Как сделать так, чтобы в скопированной таблице на листе 1 из строк с данными выбиралась строка с последним числом этого периода (то есть, заданном периоде с 01.10.2009 по 12.10.2009 в нашем примере нас будет интересовать дата 12.10.2009) и на основании выбранной даты бралась разница между ячейками max и min, то есть C5 - B5

Кто знает, подскажите, пожалуйста.
Заранее спасибо
Вложения
Тип файла: rar Экономическая_задача.rar (235.6 Кб, 20 просмотров)
KNatalia вне форума Ответить с цитированием
Старый 28.10.2009, 18:37   #4
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

Цитата:
Сообщение от KNatalia Посмотреть сообщение
Данные копируются, но при этом выдается сообщение об ошибке.
Подскажите, в чем проблема?
Если я Вас верно понял, то посмотрите вложение

второй вопрос не понятен
Вложения
Тип файла: zip Экономическая_задача.zip (58.2 Кб, 36 просмотров)

Последний раз редактировалось EugeneS; 28.10.2009 в 18:45.
EugeneS вне форума Ответить с цитированием
Старый 28.10.2009, 22:32   #5
KNatalia
Пользователь
 
Регистрация: 14.08.2009
Сообщений: 66
По умолчанию

Спасибо за помощь. Проверила, но к сожалению, данные копируются на Лист1, но ошибка постоянно выводится. С чем это связано? В чем ошибка некорректного использования функции вставки?

Как исправить макрос автофильтра, чтобы при открытии и до нажатия кнопки пуск заранее не выводилось окошко ввода данных по автофильтру?


По задаче номер 2:
Необходимо на заданную дату рассчитать разницу между максимальной и минимальной ценой, результат скопировать в отдельную ячейку, например G15

Например, мы выбрали в качестве условия дату конца заданного периода, то есть, если задан период фильтром с 01.10.2009 по 08.10.2009, то датой конца периода будем считать 08.10.2009

На данную дату у нас есть определенные данные, в том числе столбец с минимальной и максимальной ценой (ячейки на конкретную дату выделила сиреневым цветом). Необходимо только для этой даты рассчитать разность между этими ценами, а результат записать в отдельную ячейку.
Вложения
Тип файла: rar разница между ценами.rar (2.5 Кб, 11 просмотров)
KNatalia вне форума Ответить с цитированием
Старый 29.10.2009, 01:19   #6
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

Цитата:
Сообщение от KNatalia Посмотреть сообщение
Спасибо за помощь. Проверила, но к сожалению, данные копируются на Лист1, но ошибка постоянно выводится. С чем это связано? В чем ошибка некорректного использования функции вставки?
Происхождение ошибки - автофильтр, скрывающий строки. Устранена косвенным методом.

Цитата:
Сообщение от KNatalia Посмотреть сообщение
Как исправить макрос автофильтра, чтобы при открытии и до нажатия кнопки пуск заранее не выводилось окошко ввода данных по автофильтру?
Исправлено, смотрите вложение

Цитата:
Сообщение от KNatalia Посмотреть сообщение
По задаче номер 2:
Необходимо на заданную дату рассчитать разницу между максимальной и минимальной ценой, результат скопировать в отдельную ячейку, например G15

Например, мы выбрали в качестве условия дату конца заданного периода, то есть, если задан период фильтром с 01.10.2009 по 08.10.2009, то датой конца периода будем считать 08.10.2009

На данную дату у нас есть определенные данные, в том числе столбец с минимальной и максимальной ценой (ячейки на конкретную дату выделила сиреневым цветом). Необходимо только для этой даты рассчитать разность между этими ценами, а результат записать в отдельную ячейку.
На Листе1 добавлен расчет указанной разницы
Вложения
Тип файла: zip Экономическая_задача.zip (45.5 Кб, 36 просмотров)

Последний раз редактировалось EugeneS; 29.10.2009 в 01:56.
EugeneS вне форума Ответить с цитированием
Старый 29.10.2009, 08:43   #7
KNatalia
Пользователь
 
Регистрация: 14.08.2009
Сообщений: 66
По умолчанию

Спасибо Вам большое! Очень благодарна.

Единственное, хотела спросить, у меня в качестве результата расчета разницы между максимальным и минимальным значениями выдается не число, а #ЗНАЧ!
KNatalia вне форума Ответить с цитированием
Старый 29.10.2009, 08:47   #8
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

не за что, проверьте меню Сервис - Параметры - Международные - должна стоять точка в качестве разделителя
EugeneS вне форума Ответить с цитированием
Старый 29.10.2009, 09:07   #9
KNatalia
Пользователь
 
Регистрация: 14.08.2009
Сообщений: 66
По умолчанию

Да, действительно всё работает, стояла в качестве разделителя запятая.
Спасибо Вам большое пре большое за помощь!


А можно тогда задать еще вопрос:
Вот в этой формуле не могли бы пояснить

ЕСЛИ(A6<>0;ВПР(МАКС(A6:A2611);6:313 ;7;0)-ВПР(МАКС(A6:A2611);6:313;6;0); " ")

(МАКС(A6:A2611);6:313;7;0)
где МАКС(A6:A2611) - функция выбирает максимальное число из заданного диапазона?

6:313 - это таблица (6 -я строка и 313 столбцов)?

7 - номер нужного столбца
0 - интервальный просмотр - для чего он нужен?
KNatalia вне форума Ответить с цитированием
Старый 29.10.2009, 11:35   #10
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

Цитата:
Сообщение от KNatalia Посмотреть сообщение
Да, действительно всё работает, стояла в качестве разделителя запятая.
Спасибо Вам большое пре большое за помощь!
не за что

Цитата:
Сообщение от KNatalia Посмотреть сообщение
А можно тогда задать еще вопрос:
Вот в этой формуле не могли бы пояснить

ЕСЛИ(A6<>0;ВПР(МАКС(A6:A2611);6:313 ;7;0)-ВПР(МАКС(A6:A2611);6:313;6;0); " ")

(МАКС(A6:A2611);6:313;7;0)
где МАКС(A6:A2611) - функция выбирает максимальное число из заданного диапазона?
верно, если данных может быть больше 2605, можно увеличить цифру, например, вместо 2611 указать 30000


Цитата:
Сообщение от KNatalia Посмотреть сообщение
6:313 - это таблица (6 -я строка и 313 столбцов)?

7 - номер нужного столбца
0 - интервальный просмотр - для чего он нужен?
откройте мастер функций, функция называется ВПР, посмотрите справку по функции, это одна из наиболее полезных и мощных функций в Эксель, ее применение очень облегчает работу с данными

Последний раз редактировалось EugeneS; 29.10.2009 в 11:40.
EugeneS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод класса. Возвращение множества переменных. C# Arhe Помощь студентам 2 06.10.2009 18:11
Метод Synchronize класса TThread EdNovice Общие вопросы Delphi 10 01.08.2009 14:47
Метод класса REztor Помощь студентам 2 14.04.2009 17:10
Метод к полям класса; vovunisaev Общие вопросы C/C++ 2 08.04.2009 14:19
Метод без класса Altera Общие вопросы Delphi 12 24.12.2008 15:22