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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.08.2009, 17:43   #1
Chelentano
Пользователь
 
Регистрация: 06.07.2009
Сообщений: 45
По умолчанию Макрос не отрабатывает копирование при общем доступе к книге

Господа, очень уповаю на помощь в таком вопросе:

Я создал макрос для вставки строки в таблицу с копированием в новую строку ячеек из предыдущей строки. Среди этих ячеек есть ячейки с выпадающими списками. В макросе для копирования я прописал стандартно:

ActiveCell.EntireRow.Insert
Range(Cells(ActiveCell.Row-1, 1), Cells(ActiveCell.Row-1,10)).Copy
Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row,10)).Select
ActiveSheet.Paste

Макрос работает без проблем, если книга не в общем доступе. Но если установить в Сервис>Доступ к книге... на вкладке Правка галку "Разрешать нескольким пользователям изменять данный файл одновременно" , значения ячеек с выпадающиими списками копируются, но не копируются по ним выпадающие списки!!!

Буду очень благодарен за любую подсказку!

Последний раз редактировалось Chelentano; 07.08.2009 в 17:52.
Chelentano вне форума Ответить с цитированием
Старый 07.08.2009, 17:58   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Какой-то макрос у Вас излишне сложный...

Попробуйте такой вариант - вдруг сработает:
Код:
Sub test()
    ActiveCell.EntireRow.Insert
    ActiveCell.EntireRow.Cells(1).Resize(2, 10).Offset(-1).FillDown
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 07.08.2009, 18:12   #3
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Думаю макросы здесь никак не помогут. Изменять параметры Проверки данных, либо добавлять Проверки данных при общем доступе нельзя...
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 07.08.2009, 18:35   #4
Chelentano
Пользователь
 
Регистрация: 06.07.2009
Сообщений: 45
По умолчанию

Господа, спасибо большое за ответы!!! (спасибо Присту хоть и за неутешительный но ответ, который внёс определённость в мою жизнь и в мои отношения с юзерами моего гениального макроса! - теперь однозначно буду знать, что такой трюк в VBA никак не реализовать - буду искать окольные пути!)

Спасибо большое за новую конструкцию (мне как новичку конечно очень интересно с ней разобраться!) Но в любом случае макрос и в этом случае спотыкается: Run-time Error 1004. Application-defined or object-defined error. Причем кнопка Debug при этом неактивна, по кнопке Help ничего не открывается - остаётся только нажать End

Как я понял тут остается только одно: подавать на Билла Гейтса иск на $1млн в Европейский суд за моральный ущерб?
Вложения
Тип файла: rar Test.rar (7.7 Кб, 11 просмотров)

Последний раз редактировалось Chelentano; 07.08.2009 в 18:38.
Chelentano вне форума Ответить с цитированием
Старый 07.08.2009, 19:43   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
Но в любом случае макрос и в этом случае спотыкается: Run-time Error 1004. Application-defined or object-defined error.
Странно. У меня всё работает.

Попробуйте такой вариант:



Выделите одну из синих ячеек, и нажмите зелёную кнопку.
EducatedFool вне форума Ответить с цитированием
Старый 07.08.2009, 19:55   #6
Chelentano
Пользователь
 
Регистрация: 06.07.2009
Сообщений: 45
По умолчанию

Ой да! Перепроверил ещё раз! Извините! Действительно работает Ваш код! Спасибо огоромнейшее!!!! Как я понимаю фишка тут в том, что FillDown более дееспособное лицо по сравнению с Copy-Paste и при использовании файла в общем доступе лучше по возможности стараться заменять Copy>Paste на FillDown там где мы хотим копировать не только значения но и проверки?

Последний раз редактировалось Chelentano; 07.08.2009 в 20:15.
Chelentano вне форума Ответить с цитированием
Старый 07.08.2009, 20:17   #7
Chelentano
Пользователь
 
Регистрация: 06.07.2009
Сообщений: 45
По умолчанию

Извините, тут у меня в связи с этим такой вопрос: мне также в определённых местах необходимо копировать ячейки не из предыдущей строки, а из пред-предыдущей строки, т.е. из ActiveCell.Row-2 ? Вы не подскажете, какой здесь правильный синтаксис для копирования, чтобы это работало во время общего доступа?

Последний раз редактировалось Chelentano; 07.08.2009 в 20:19.
Chelentano вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос постоянно обрабатывает события. При открытии другой книги макрос обрывается. Ples Microsoft Office Excel 8 17.12.2016 18:15
Сравнение листов в книге, и копирование значений Josser Microsoft Office Excel 10 22.07.2009 08:26
Макрос для создания нового листа в др.книге natty29 Microsoft Office Excel 3 14.02.2009 06:46
Сертификат безопасности при доступе к web-узлу ss@sh Microsoft Office Excel 0 01.10.2008 15:49