powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
25 сообщений из 29, страница 1 из 2
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38604309
Baskerman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день коллеги, задача такая, чтобы в поле E2 было неактивно пока в поле D2 не было указанно какое либо значение.
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38604322
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$E$2" And Range("D2").Value = "" Then
  Application.EnableEvents = False
  Target.Value = ""
  Application.EnableEvents = True
End If

End Sub
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38604330
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот так - с защитой от копипаста нескольких ячеек
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("E2")) Is Nothing And Range("D2").Value = "" Then
  Application.EnableEvents = False
  Range("E2").Value = ""
  Application.EnableEvents = True
End If

End Sub
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38604337
Baskerman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Спасибо, но прошу прощения, как добавить данный макрос? Я так понимаю он будет в фоновом режиме работать?
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38604344
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alt+F11 и вставить на нужный лист

не то чтобы в фоновом - он просто реагирует на редактирование ячеек
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38604346
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, макрос просто стирает вводимое пользователем значение, если же нужно восстанавливать предыдущее - это чуть сложнее
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38604349
Baskerman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Спасибо!!! Работает!
А можно в событие добавить всплывающее сообщение с текстом, текст вставлю сам.
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38604353
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("E2")) Is Nothing And Range("D2").Value = "" Then
  Application.EnableEvents = False
  Range("E2").Value = ""
  Application.EnableEvents = True
  MsgBox "Текст вставлю сам", vbCritical, "Ошибка ввода данных"
End If

End Sub
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38604376
Baskerman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Огромное, спасибо, такого щенячьего восторга у меня давно не было!))
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38604384
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
страшно представить, что будет, когда увидишь написанную в экселе программу... кроссворд, скажем
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38604391
Baskerman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Маленькая просьба, как указать вместо адреса поля целую колонку?
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38604395
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так блин, а сразу нельзя было сказать?
Давайте уже конечное техзадание, чтобы не клепать ненужный вам код.
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38604405
Baskerman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Код, нужный в любом случае!
Я тупанул макрос не растянуть на колонку)))
Да думаю это пока все.
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38604443
Baskerman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Маленькая просьба, как указать вместо адреса поля целую колонку?

Проблема так и осталась)
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38604487
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробуйте. Можно изменять сразу много ячеек (копирование-вставка, автозаполнение и пр.)
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Private Sub Worksheet_Change(ByVal t As Range)
Dim b As Boolean
Set t = Intersect(t, Columns("E"), Me.UsedRange)
If t Is Nothing Then Exit Sub
Application.EnableEvents = False
For Each t In t
  If Not IsEmpty(t) Then
    If IsEmpty(t.Offset(, -1)) Then t.ClearContents: b = True
  End If
Next
If b Then MsgBox "Текст вставлю сам", vbCritical, "Ошибка ввода данных"
Application.EnableEvents = True
End Sub
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38604499
Baskerman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Казанский,

Спасибо сейчас протестирую!!!
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38605095
Baskerman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Казанский,

Добрый день, не очень понял, как развить ваш метод на отслеживание заполнения по нескольким столцам.
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38605099
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProТак блин, а сразу нельзя было сказать?
Давайте уже конечное техзадание, чтобы не клепать ненужный вам код.Теперь уже по нескольким столбцам!
А проверять в соседней слева ячейке или в D?
То есть, если изменилась ячейка F3 - проверять D3 или E3?
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38605116
Baskerman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КазанскийShocker.ProТак блин, а сразу нельзя было сказать?
Давайте уже конечное техзадание, чтобы не клепать ненужный вам код.Теперь уже по нескольким столбцам!
А проверять в соседней слева ячейке или в D?
То есть, если изменилась ячейка F3 - проверять D3 или E3?

Я экспериментирую, не могу к сожалению, сразу дать полное ТЗ.

Имеется несколько смежных, столбцов в которых необходимо осуществить анализ ввода в соседнем столбце, или в любом по порядку смежном столбце который будет указан в алгоритме.
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38605241
Baskerman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Baskerman,

есть мысли как это реализовать?
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38605291
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
столбцов будет много или три-четыре фиксированных?

Просто можно тупо наляпать несколько раз алгоритм Казанского для разных столбцов, или уже писать по-взрослому, с перечнем столбцов и динамикой
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38605354
Baskerman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Proстолбцов будет много или три-четыре фиксированных?

Просто можно тупо наляпать несколько раз алгоритм Казанского для разных столбцов, или уже писать по-взрослому, с перечнем столбцов и динамикой

4 столбца!
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38605384
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
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.
Private Sub Worksheet_Change(ByVal t As Range)

Dim b As Boolean
Application.EnableEvents = False
CheckCol t, "E"
CheckCol t, "G"
CheckCol t, "W"
CheckCol t, "AA"
Application.EnableEvents = True

End Sub

Private Sub CheckCol(t As Range, col As string)

Set t = Intersect(t, Columns(col), Me.UsedRange)
If Not t Is Nothing Then
  For Each t In t
    If Not IsEmpty(t) Then
      If IsEmpty(t.Offset(, -1)) Then t.ClearContents: b = True
    End If
  Next
  If b Then MsgBox "Текст вставлю сам", vbCritical, "Ошибка ввода данных"
End If

End Sub
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38605439
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл сказать - я не проверял
и еще переменную забыл перенести
Код: vbnet
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.
Private Sub Worksheet_Change(ByVal t As Range)

Application.EnableEvents = False
CheckCol t, "E"
CheckCol t, "G"
CheckCol t, "W"
CheckCol t, "AA"
Application.EnableEvents = True

End Sub

Private Sub CheckCol(t As Range, col As string)

Dim b As Boolean
Set t = Intersect(t, Columns(col), Me.UsedRange)
If Not t Is Nothing Then
  For Each t In t
    If Not IsEmpty(t) Then
      If IsEmpty(t.Offset(, -1)) Then t.ClearContents: b = True
    End If
  Next
  If b Then MsgBox "Текст вставлю сам", vbCritical, "Ошибка ввода данных"
End If

End Sub
...
Рейтинг: 0 / 0
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
    #38605500
Baskerman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Сейчас прогоню, спасибо, огромное!!
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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