Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле. / 25 сообщений из 29, страница 1 из 2
03.04.2014, 14:26
    #38604309
Baskerman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
Добрый день коллеги, задача такая, чтобы в поле E2 было неактивно пока в поле D2 не было указанно какое либо значение.
...
Рейтинг: 0 / 0
03.04.2014, 14:34
    #38604322
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
Код: 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
03.04.2014, 14:38
    #38604330
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
вот так - с защитой от копипаста нескольких ячеек
Код: 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
03.04.2014, 14:42
    #38604337
Baskerman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
Shocker.Pro,

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

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

Спасибо!!! Работает!
А можно в событие добавить всплывающее сообщение с текстом, текст вставлю сам.
...
Рейтинг: 0 / 0
03.04.2014, 14:53
    #38604353
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
Код: 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
03.04.2014, 15:02
    #38604376
Baskerman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
Shocker.Pro,

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

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

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

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

Проблема так и осталась)
...
Рейтинг: 0 / 0
03.04.2014, 16:09
    #38604487
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
Пробуйте. Можно изменять сразу много ячеек (копирование-вставка, автозаполнение и пр.)
Код: 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
03.04.2014, 16:19
    #38604499
Baskerman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
Казанский,

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

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

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

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

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

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

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

4 столбца!
...
Рейтинг: 0 / 0
04.04.2014, 13:03
    #38605384
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
Код: 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
04.04.2014, 13:29
    #38605439
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
забыл сказать - я не проверял
и еще переменную забыл перенести
Код: 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
04.04.2014, 14:19
    #38605500
Baskerman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel блокировка ввода данных в поле пока не была внесена информация в соседнее поле.
Shocker.Pro,

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


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