Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Метод Paste не вставляет данные скопированные с другого Листа Экселя  (Прочитано 13766 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Polundra_Pi
Гость
« : 18-09-2006 12:39 » 

Доброго времени суток!
Если никто не будет возражать, я снова решил задать пару вопросов.
Первий немного ламерский, как говорят, но все-таки я его задам, ведь на него ответ так и не нашол.
Почему у меня программно копируется выбраннная область из одного Листа в буфер обмена, но в другой Лист в соответствуюющих размеров область не вставляться.
Писал и так                     Call wb.Sheets(TipOrg).Paste, wb-рабочая книга, TipOrg- имя Листа.
И так, наподобе как в макросе записано
                             Call EWindow.ActiveSheet.Paste,
                           где   EWindow задаётся таким образом, как обычно
                             Set EWindow = CreateObject("Excel.Application").
Ну и так писал  Call ws.Paste , где ws - текуший лист, тоесть он же Лист с Именем TipOrg.
Смотрел в хелпе, пишется, что для пейста есть какие-то параметры, но они не обязательны. Главное выделить предварительно ту область,  в которую будет вставлен скопированный фрагмент. Копируется область "А3:Т11" с одного Листа в другой.
Вот вставка. Скопированный фрагмент в буфере обмена, но он не вставляется.
                   
Код:
  ws.Name = TipOrg
                    Call wb.Sheets(TipOrg).Select
                    Call ws.Range("A3:T11").Select
                    Call ws.Range("T11").Activate
                    Call wb.Sheets(TipOrg).Paste 'На этой строке вылетает ошибка
Но ничего не дало конкретного результата.
Эксель выбивал ошибку.
Метод Paste из класса Worksheet завершен неверно.
Вот значит первый вопрос.
Второй вопрос.  Как програмно очистить буфер обмена оффиса? Я записал макрос очистки всего буфера, тоесть
Макрос-Начать запись. Потом нажимаю Очистить все для буфера обмена, смотрю этот макрос, а он пустой.
« Последнее редактирование: 13-12-2007 18:35 от Алексей1153++ » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 18-09-2006 14:04 » 

Для того чтоб что-то купит, нужно что-то продать (с)
Для того чтоб что-то вставить - нужно что-то скопировать

Цитата
Pastes the contents of the Clipboard onto the sheet.

expression.Paste(Destination, Link)
expression    Required. An expression that returns a Worksheet object.

Destination   Optional Variant. A Range object that specifies where the Clipboard contents should be pasted. If this argument is omitted, the current selection is used. This argument can be specified only if the contents of the Clipboard can be pasted into a range. If this argument is specified, the Link argument cannot be used.

Link   Optional Variant. True to establish a link to the source of the pasted data. If this argument is specified, the Destination argument cannot be used. The default value is False.

Remarks
If you don’t specify the Destination argument, you must select the destination range before you use this method.

This method may modify the sheet selection, depending on the contents of the Clipboard

Цитата

This example copies data from cells C1:C5 on Sheet1 to cells D1:D5 on Sheet1.

Worksheets("Sheet1").Range("C1:C5").Copy
ActiveSheet.Paste Destination:=Worksheets("Sheet1").Range("D1:D5")

Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Polundra_Pi
Гость
« Ответ #2 : 19-09-2006 14:17 » 

Спасибо Огромнейшее!
Посткриптум есть еще один вопрос, но я его вынесу в отдельную тему.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines