Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Защита поля от вставки значения / 10 сообщений из 10, страница 1 из 1
30.05.2007, 13:53:56
    #34561132
sebastian_opereiro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита поля от вставки значения
Как известно, при использовании возможности ограничить ввод данных в ячейку с помощью Данные-Проверка, эта технология не срабатывает при вставке значения в данную ячейку копированием и с помощью макроса. Кто-нибудь нашел способ восстановить данное упущение мелкософта? Наиболее интересен способ защитить ячейку от Copy-Paste.
...
Рейтинг: 0 / 0
30.05.2007, 15:56:42
    #34561711
lena_####
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита поля от вставки значения
Для всего листа можно действовать, например, так:

Код: plaintext
1.
2.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Application.CutCopyMode = False
End Sub

для конкретной ячейки, например, так:

Код: plaintext
1.
2.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Address = "$B$1" Then Application.CutCopyMode = False
End Sub
...
Рейтинг: 0 / 0
30.05.2007, 16:11:52
    #34561783
Дадахан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита поля от вставки значения
lena_####Для всего листа можно действовать, например, так:

Код: plaintext
1.
2.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Application.CutCopyMode = False
End Sub

для конкретной ячейки, например, так:

Код: plaintext
1.
2.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Address = "$B$1" Then Application.CutCopyMode = False
End Sub

а что мешает в таком случае выделить диапазон в другой книге и вставить в эту?
...
Рейтинг: 0 / 0
30.05.2007, 16:21:42
    #34561842
Дадахан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита поля от вставки значения
тогда уж лучше
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Worksheet_Change(ByVal Target As Range)
    For Each MyCell In Target.Cells
        If MyCell.Address = "$F$4" Then
            '...
            'возможный цикл проверки значения
            '...
        End If
    Next MyCell
End Sub
а вообще геморное это дело. лучше всего раз на то пошло защитить лист и вводить данные через форму.
...
Рейтинг: 0 / 0
30.05.2007, 16:35:28
    #34561932
lena_####
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита поля от вставки значения
Дадахан

Вам вообще никто ничего не мешает делать. Это была идея, которую Вы успешно развиваете.
У листа, книги и объекта Application масса событий, которые можно заюзать. Например, с копированием из другой книги можно бороться, используя событие Workbook_Activate. А насчет того, что
[quote]вообще геморное это дело[/quote]полностью согласна, причем болевой эффект от геморроя обратно пропорционален точности постановки задачи.
...
Рейтинг: 0 / 0
30.05.2007, 17:36:25
    #34562200
sebastian_opereiro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита поля от вставки значения
Вот точная постановка задачи:
1) Есть книга. Допустим Книга1.xls
2) Есть еще одна книга. Допустим Книга2.xls В ней, допустим, в диапазоне А1:А6 ограничен ввод данных с помощью Проверки данных.
Задача: как запретить скопировать из Книга1.xls в Книга2.xls значения в указанный диапазон.
...
Рейтинг: 0 / 0
30.05.2007, 17:45:19
    #34562249
Дадахан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита поля от вставки значения
sebastian_opereiroВот точная постановка задачи:
...
как запретить скопировать из Книга1.xls в Книга2.xls
...

это и есть точная? а запрещать из Книга3.xls не нужно? А если нужно, то может появиться и Книга4.xls

p.s. пример уже был предложен. нужно только немножко напречься и получится результат!
...
Рейтинг: 0 / 0
13.12.2007, 19:14:22
    #35008817
Wasup!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита поля от вставки значения
Дадахана вообще геморное это дело. лучше всего раз на то пошло защитить лист и вводить данные через форму.

А как это сделать? Если защитить весь лист, то Данные-Форма не позволяет ничего вводить, можно только перемещать по существующим записям в книге.
Подскажите, кто знает.

з.ы. sorry за поднятие старой темы
...
Рейтинг: 0 / 0
14.12.2007, 11:25:45
    #35009847
Pavel55
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита поля от вставки значения
А вы сами создайте форму и вводите данные через неё.

В этом случае надо защищать лист так

Код: plaintext
1.
2.
3.
4.
Sub ProtectSheet()
    'UserInterfaceOnly - разрешает макросам работать на листе.
    'агрумент Password:="123" можно вообще не указывать
    ActiveSheet.Protect Password:="123", UserInterfaceOnly:=True
End Sub
...
Рейтинг: 0 / 0
17.12.2007, 09:51:33
    #35013719
Wasup!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защита поля от вставки значения
Немного не подумал, да конечно, подразумевалась сделанная на VBA форма, а не стандартная для ввода данных.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Защита поля от вставки значения / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]