Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не работает метод Cut в Excel, ошибка при запуске с другого листа 
V
    Опции темы
amsoft
Дата 28.4.2015, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 17.10.2009
Где: KZ, Astana

Репутация: нет
Всего: 4



в книге в excel'е есть несколько листов. на одном листе есть кнопка, при нажатии на которую должно происходить перемещение данных на другом листе ("data 2"):
Код

Sheets("data 2").Range(Cells(4, 29), Cells(4, 42)).Cut (Sheets("data 2").Cells(4, 43))

при нажатии выдает ошибку
Цитата

Run-time error '1004'
Application-defined or object-defined error


Работает все правильно, если кнопку сделать на листе "data 2"

Как заставить перемещать ячейки на одном листе при вызове метода с другого листа???


--------------------
"Кто бы ты ни был - не думай о себе слишком"Дельфин
PM   Вверх
Akina
Дата 28.4.2015, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Код

ThisWorkbook.Sheets("data 2")...



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
amsoft
Дата 28.4.2015, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 17.10.2009
Где: KZ, Astana

Репутация: нет
Всего: 4



не работает
пробовал и thisworkbook и worksheets
--------------------
"Кто бы ты ни был - не думай о себе слишком"Дельфин
PM   Вверх
Akina
Дата 28.4.2015, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Файл в студию.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
amsoft
Дата 29.4.2015, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 17.10.2009
Где: KZ, Astana

Репутация: нет
Всего: 4



вот образец

на обеих кнопках одинаковый код, но работает только на листе, на котором надо переместить данные

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  Книга1.rar 9,14 Kb
--------------------
"Кто бы ты ни был - не думай о себе слишком"Дельфин
PM   Вверх
Akina
Дата 29.4.2015, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Ага... суть проблемы проста - ты ссылаешься на коллекцию Cells, а это коллекция ячеек ТЕКУЩЕГО листа. Ясен пень, поиск их на другом листе вызывает проблемы.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
amsoft
Дата 29.4.2015, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 17.10.2009
Где: KZ, Astana

Репутация: нет
Всего: 4



спасибо.
что-то сам не "дотукал"
--------------------
"Кто бы ты ни был - не думай о себе слишком"Дельфин
PM   Вверх
Akina
Дата 29.4.2015, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



А не пиши такие многоэтажные безобразия, не экономь на переменных. Вот написал бы не то, что а первом посте, а так:
Код

dim sht as worksheet
dim rng1 as range, rng2 as range
set sht = Sheets("data 2")
set rng1 = Cells(4, 29)
set rng2 = Cells(4, 42)
set rng1 = sht1.Range(rng1, rng2)
set rng2 = sht1.Cells(4, 43)
rng1.Cut rng2

и сразу бы понял, где собака порылась...



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
amsoft
Дата 30.4.2015, 07:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 17.10.2009
Где: KZ, Astana

Репутация: нет
Всего: 4



Спасибо за совет
так конечно читабельнее получается  smile 
--------------------
"Кто бы ты ни был - не думай о себе слишком"Дельфин
PM   Вверх
Akina
Дата 30.4.2015, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Дело не в читабельности, а в упрощении отладки. Себе, между прочим...
А когда заработает - можешь собирать обратно.

PS. Кстати, с переменными работать будет быстрее.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0914 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.