| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Excel. Запрет Cut в меню |
| Автор: Сквозняк 19.11.2003, 10:11 |
| Подскажите, плз, как в макросе описать запрет функции Cut. Есть файл Excel, в котором рушатся формулы, если использовать функции Cut/Paste. Как в auto_open() описать запрет функции Cut при открытии файла и снятие запрета при его закрытии? Или есть другие варианты решения этой проблемы? |
| Автор: Alles 19.11.2003, 11:36 | ||
что за формулы ? или связанные ссылки ? |
| Автор: Сквозняк 19.11.2003, 13:13 |
| Связанные ссылки |
| Автор: Alles 20.11.2003, 02:59 |
| C тебя как с партизана надо по слову вытаскивать ...... немногословный ты наш. ! А редактируется что у тебя и каким образом ? . Если просто запретить тогда сделай защиту листа , и открой доступ на редактирование тех ячеек которые необходимо редактировать , я в тех ячейках где прописаны ссылки ?..... EXCEL сам бортанет при активизации. |
| Автор: Сквозняк 20.11.2003, 15:03 |
| Пишу подробнее и конкретнее: есть ячейка 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 21.11.2003, 08:46 |
| Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.CutCopyMode = False End Sub Ну вот так вроде работает . |
| Автор: Alles 21.11.2003, 09:04 | ||
А можно и вот так. В первом случае у тебя идет блокирование CutCopy полностью независимо от того пустая ли ячейка для Вставки, а в этом варианте будет блокироваться только если ячейка для Вставки не пустая. Не буду спорить если меня кто то поправит. |
| Автор: Сквозняк 21.11.2003, 11:03 |
| Спасибо, все конечно классно работает |
| Автор: Сквозняк 21.11.2003, 12:16 |
| Вроде бы победил: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Select Case Application.CutCopyMode Case Is = xlCut Application.CutCopyMode = False End Select End Sub Это только для одного листа, а не для всей книги. Спасибо. |