Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Блокировка вносимых данных - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Блокировка вносимых данных (Формулы/Formulas)
Блокировка вносимых данных
astashov_michail@tutby Дата: Среда, 17.08.2022, 16:58 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 66
Репутация: 0 ±
Замечаний: 20% ±

Всем здравствуйте. Первым делом поискал похожие темы на форуме. нашёл подходящую, ну почти : Дата: Вторник, 23.11.2021, 12:12 Блокировка ячеек по условиям (Формулы/Formulas), только мне необходимо сначала внести значения, а уж потом заблокировать ячейки.
по умолчанию ячейка пуста, после внесения данных необходимо чтоб ячейка блокировалась (нельзя было изменить данные, в т.ч. нажать Delete)
К сообщению приложен файл: 6749762.xlsx(14.8 Kb)
 
Ответить
СообщениеВсем здравствуйте. Первым делом поискал похожие темы на форуме. нашёл подходящую, ну почти : Дата: Вторник, 23.11.2021, 12:12 Блокировка ячеек по условиям (Формулы/Formulas), только мне необходимо сначала внести значения, а уж потом заблокировать ячейки.
по умолчанию ячейка пуста, после внесения данных необходимо чтоб ячейка блокировалась (нельзя было изменить данные, в т.ч. нажать Delete)

Автор - astashov_michail@tutby
Дата добавления - 17.08.2022 в 16:58
_Boroda_ Дата: Среда, 17.08.2022, 17:20 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16360
Репутация: 6352 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
В модуль листа положите
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Cells(1, "AA") = 1 Then Exit Sub
    Set d_ = Intersect(Target, Range("A1,A3,A6"))
    If Not d_ Is Nothing Then
        For Each dd_ In d_
            If dd_ <> "" Then
                dd_.Offset(, 1).Select
                Exit Sub
            End If
        Next dd_
    End If
End Sub
[/vba]
Если в АА1 написать 1, то код пропустит выделение нужных ячеек


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВ модуль листа положите
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Cells(1, "AA") = 1 Then Exit Sub
    Set d_ = Intersect(Target, Range("A1,A3,A6"))
    If Not d_ Is Nothing Then
        For Each dd_ In d_
            If dd_ <> "" Then
                dd_.Offset(, 1).Select
                Exit Sub
            End If
        Next dd_
    End If
End Sub
[/vba]
Если в АА1 написать 1, то код пропустит выделение нужных ячеек

Автор - _Boroda_
Дата добавления - 17.08.2022 в 17:20
astashov_michail@tutby Дата: Среда, 17.08.2022, 19:21 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 66
Репутация: 0 ±
Замечаний: 20% ±

_Boroda_, Спасибо огромное, все работает
 
Ответить
Сообщение_Boroda_, Спасибо огромное, все работает

Автор - astashov_michail@tutby
Дата добавления - 17.08.2022 в 19:21
astashov_michail@tutby Дата: Пятница, 19.08.2022, 10:52 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 66
Репутация: 0 ±
Замечаний: 20% ±

_Boroda_, Здравствуйте. как оказалось , что при Ctrl+Z откатывает назад и свободно можно изменять данные . А это не есть ХОРОШО. :(. можно ли заблокировать «откат на шаг назад»
 
Ответить
Сообщение_Boroda_, Здравствуйте. как оказалось , что при Ctrl+Z откатывает назад и свободно можно изменять данные . А это не есть ХОРОШО. :(. можно ли заблокировать «откат на шаг назад»

Автор - astashov_michail@tutby
Дата добавления - 19.08.2022 в 10:52
_Boroda_ Дата: Пятница, 19.08.2022, 11:27 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16360
Репутация: 6352 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Тоже в модуль листа положите
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Set d_ = Intersect(Target, Range("A1,A3,A6"))
    If Not d_ Is Nothing Then
        Application.EnableEvents = 0
        For Each dd_ In d_
            If dd_ <> "" Then
                dd_.Value = dd_.Value
            End If
        Next dd_
        Application.EnableEvents = 1
    End If
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТоже в модуль листа положите
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Set d_ = Intersect(Target, Range("A1,A3,A6"))
    If Not d_ Is Nothing Then
        Application.EnableEvents = 0
        For Each dd_ In d_
            If dd_ <> "" Then
                dd_.Value = dd_.Value
            End If
        Next dd_
        Application.EnableEvents = 1
    End If
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 19.08.2022 в 11:27
astashov_michail@tutby Дата: Пятница, 19.08.2022, 11:58 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 66
Репутация: 0 ±
Замечаний: 20% ±

_Boroda_, Огромное спасибо!!!
 
Ответить
Сообщение_Boroda_, Огромное спасибо!!!

Автор - astashov_michail@tutby
Дата добавления - 19.08.2022 в 11:58
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Блокировка вносимых данных (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2022 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!