|
|
|
защита листа
|
|||
|---|---|---|---|
|
#18+
Ситуция следующая. Есть лист Excel, его постепенно заполняет человек. Как только он становится уверенным что цифра в ячейке подтверждена и не подлежит изменению, он устанавливает ячейку как защищаемую и защищает лист. Таким образом получаем лист в котором часть ячеек защищена и в них не возможно изменять данные, а часть нет. Причем нет никакой закономерности в расположенни защищаемых и незащихаемых ячеек. Возникакет проблема при копировании диапазона ячеек из другого листа. Если среди ячеек куда копируется встречаются защищенные, то выдается ошибка Excel и копирование не происходит. Кто что может сказать по этому поводу??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2006, 14:00:36 |
|
||
|
защита листа
|
|||
|---|---|---|---|
|
#18+
1. Какая версия экселя? 2. Копирование происходит макросом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2006, 14:11:00 |
|
||
|
защита листа
|
|||
|---|---|---|---|
|
#18+
версия 2000 и выше (если это принципиально, то установим какой нужно). ставка производиться через буфер, т.е. человек нажимает кнопочку "КОПИРОВАТЬ", затем выделяет ячейку и нажимает кнопочку "ВСТАВИТЬ". И тут возникает ошибка если в диапазон куда копируют попадают защищенные ячеки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2006, 14:14:05 |
|
||
|
защита листа
|
|||
|---|---|---|---|
|
#18+
to vkodor В том-то и дело, что этого хочеться избежать, поскольку диапазоны в основном строго фиксированы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2006, 14:17:33 |
|
||
|
защита листа
|
|||
|---|---|---|---|
|
#18+
Ааааа. Данные копируются не С защищенного листа, а НА защищенный лист. Тогда, наверное, только снятием защиты листа можно помочь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2006, 14:19:58 |
|
||
|
защита листа
|
|||
|---|---|---|---|
|
#18+
Mikhail Eremkin Как только он становится уверенным что цифра в ячейке подтверждена и не подлежит изменению, он устанавливает ячейку как защищаемую и защищает лист. Один защищает, другой пытается изменить, нелогично как-то. Может защищать ячейку в том месте, от куда копируется инфо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2006, 14:26:33 |
|
||
|
защита листа
|
|||
|---|---|---|---|
|
#18+
Именно так. Данные копируются на защищенный лист с незащищенного. Но особенность в том, что часть данных в защищенном листе уже утверждена и не подлежит изменению, а остальную часть можно изменять. Ячейки защищаются для того, чтобы случайно не изменить уже утвержденную цифру. to vkodor работает один человек. Эта проблемма возникает, т.к. собираются данные из кучи файлов, которые все время изменяются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2006, 14:51:52 |
|
||
|
защита листа
|
|||
|---|---|---|---|
|
#18+
тебе без листа "Temp" не обойтись. пусть копируют в Temp а там сделай кнопку чтобы анализировалась ситуация типа Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2006, 15:27:24 |
|
||
|
защита листа
|
|||
|---|---|---|---|
|
#18+
А я так и не пойму что требуется? Нужно чтобы защищенные ячейки тоже обновились (скопировались из другого листа)? Или нужно чтобы диапазон скопировался только в те ячейки, которые не защищены, а защищенные остались без изменений? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2006, 15:32:51 |
|
||
|
защита листа
|
|||
|---|---|---|---|
|
#18+
k-nikeА я так и не пойму что требуется? Нужно чтобы защищенные ячейки тоже обновились (скопировались из другого листа)? Или нужно чтобы диапазон скопировался только в те ячейки, которые не защищены, а защищенные остались без изменений? Именно так, нужно чтобы диапазон скопировался только в те ячейки, которые не защищены, а защищенные остались без изменений. Вот именно в этой ситуации и возникает ошибка Excel, он просто не копирует вообще ничего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2006, 06:12:05 |
|
||
|
защита листа
|
|||
|---|---|---|---|
|
#18+
что же все пропали куда-то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2006, 07:24:37 |
|
||
|
защита листа
|
|||
|---|---|---|---|
|
#18+
Наверное копировать нужно программно по одной ячейке, анализируя кажую на предмет защиты. Тогда точно будет Вам счастье ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2006, 12:38:27 |
|
||
|
защита листа
|
|||
|---|---|---|---|
|
#18+
Это я понял.... как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2006, 13:07:52 |
|
||
|
защита листа
|
|||
|---|---|---|---|
|
#18+
Mikhail EremkinЭто я понял.... как это сделать? 1. Определяешь (программно) границы таблицы-приемника. 2. Во вложенном цикле обходишь ВСЕ ячейки таблицы-приемника проверяя свойства ячейки. 2.2 Не защищенная - копируешь ячейку с другого листа. 2.3 Защищена - не копируешь ячейку с другого листа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2006, 14:54:16 |
|
||
|
защита листа
|
|||
|---|---|---|---|
|
#18+
talgat Mikhail EremkinЭто я понял.... как это сделать? 1. Определяешь (программно) границы таблицы-приемника. 2. Во вложенном цикле обходишь ВСЕ ячейки таблицы-приемника проверяя свойства ячейки. 2.2 Не защищенная - копируешь ячейку с другого листа. 2.3 Защищена - не копируешь ячейку с другого листа. Весь код повесь на кнопку. Все равно на коком листе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2006, 14:55:30 |
|
||
|
защита листа
|
|||
|---|---|---|---|
|
#18+
1. Это положи в модуль под названием "Эта Книга" (ThisWorkbook) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 3. Это положи в обычный модуль Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. Теперь попробую объяснить что это! Вставка данных производится тремя способами А. вставка из панели "Файл... Меню... и т. д. " Б. вставка из контекстного меню (правый клик мыши) С. вставка комбинацией клавиш "Ctrl+C" процедура "myAdd" присваивает всем трем позициям макрос "myPaste" причем события "Workbook_SheetActivate" и Workbook_SheetDeactivate нужны для того чтобы этот макрос работал только на определённом листе у меня на "Лист1" процедура "myDel" возвращает всё в исходное положение теперь "myPaste" копирует всё в скрытый вновь созданный файл и, просматривая нужный диапазон ячеек, в зависимости от условий защиты, вставляет данные правда только значения (форматы не вставляет). Если кто-нибудь усовершенствует процедуру буду рад, надеюсь незабудете поделиться. P.S. Блин пол дня убил на это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2006, 17:51:27 |
|
||
|
защита листа
|
|||
|---|---|---|---|
|
#18+
vkodor[quot vkodor]С. вставка комбинацией клавиш "Ctrl+C" пардон конечно же "Ctrl+V" и еще так правильнее Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2006, 18:07:29 |
|
||
|
защита листа
|
|||
|---|---|---|---|
|
#18+
Спасибо vkodor. Ваше решение очень оригинальное. Я только вынес вставку на отдельную кнопочку и работает на Ура!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2006, 07:11:16 |
|
||
|
|

start [/forum/topic.php?fid=61&fpage=254&tid=2181828]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 341ms |

| 0 / 0 |
