![]() |
|
Модераторы: Akina |
![]()
|
|
| Сквозняк |
|
|||
|
Unregistered |
Подскажите, плз, как в макросе описать запрет функции Cut. Есть файл Excel, в котором рушатся формулы, если использовать функции Cut/Paste. Как в auto_open() описать запрет функции Cut при открытии файла и снятие запрета при его закрытии? Или есть другие варианты решения этой проблемы?
|
|||
|
||||
| Alles |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 26.6.2003 Где: RUSSIA Репутация: 2 Всего: 2 |
что за формулы ? или связанные ссылки ? |
|||
|
||||
| Сквозняк |
|
|||
|
Unregistered |
Связанные ссылки
|
|||
|
||||
| Alles |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 26.6.2003 Где: RUSSIA Репутация: 2 Всего: 2 |
C тебя как с партизана надо по слову вытаскивать ...... немногословный ты наш. !
А редактируется что у тебя и каким образом ? . Если просто запретить тогда сделай защиту листа , и открой доступ на редактирование тех ячеек которые необходимо редактировать , я в тех ячейках где прописаны ссылки ?..... EXCEL сам бортанет при активизации. |
|||
|
||||
| Сквозняк |
|
|||
|
Unregistered |
Пишу подробнее и конкретнее:
есть ячейка F36. в ней вводится какое-то значение. В ячейке H38 забита ссыла "=H36*$F36*IF($D36=1;H$5;H$4)/1000". есть ячейка F39. в ней пока пусто. В ячейке H41 забита ссыла "=H39*$F39*IF($D39=1;H$5;H$4)/1000". Народу по каким-то причинам хочется значение из F36 перенести в F39. Причем делают они это с использованием Cut/Paste. После этого в ячейке H38 образуется ссыла =H36*$F39*IF($D36=1;H$5;H$4)/1000", а в ячейке H41 - "=H39*#REF!*IF($D39=1;H$5;H$4)/1000". На листе все ячейки защищены, оставлены только те, в которые народ вносит значения. Т.е. получается, что F36 и F39 открыты для редактирования, а H38 и H41 - защищены. Сдается мне, что эта проблема решается очень просто, а вот как - не пойму |
|||
|
||||
| Alles |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 26.6.2003 Где: RUSSIA Репутация: 2 Всего: 2 |
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.CutCopyMode = False End Sub Ну вот так вроде работает . |
|||
|
||||
| Alles |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 26.6.2003 Где: RUSSIA Репутация: 2 Всего: 2 |
А можно и вот так. В первом случае у тебя идет блокирование CutCopy полностью независимо от того пустая ли ячейка для Вставки, а в этом варианте будет блокироваться только если ячейка для Вставки не пустая. Не буду спорить если меня кто то поправит. |
|||
|
||||
| Сквозняк |
|
|||
|
Unregistered |
Спасибо, все конечно классно работает
|
|||
|
||||
| Сквозняк |
|
|||
|
Unregistered |
Вроде бы победил:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Select Case Application.CutCopyMode Case Is = xlCut Application.CutCopyMode = False End Select End Sub Это только для одного листа, а не для всей книги. Спасибо. |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |