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

Вход

Регистрация

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

 

= Мир MS Excel/Обнуление данных выпадающих списков - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Обнуление данных выпадающих списков (Иное/Other)
Обнуление данных выпадающих списков
gfkq Дата: Воскресенье, 23.01.2022, 19:49 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Доброго времени суток! Продолжаю с вашей помощью попытку облегчить жизнь. При много вам благодарен за советы! Прошу меня извинить за столь для кого то глупые вопросы.

Есть ли возможность, в этой чудо программе, обнулять значение связанных выпадающих списков. например в самом первом выпадающем списке мы ставим "нет" и далее все ячейки в столбцах опустошаются, в примере выделил желтым
К сообщению приложен файл: 6507997.xlsx(17.4 Kb)
 
Ответить
СообщениеДоброго времени суток! Продолжаю с вашей помощью попытку облегчить жизнь. При много вам благодарен за советы! Прошу меня извинить за столь для кого то глупые вопросы.

Есть ли возможность, в этой чудо программе, обнулять значение связанных выпадающих списков. например в самом первом выпадающем списке мы ставим "нет" и далее все ячейки в столбцах опустошаются, в примере выделил желтым

Автор - gfkq
Дата добавления - 23.01.2022 в 19:49
Nic70y Дата: Четверг, 27.01.2022, 08:52 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 7722
Репутация: 1852 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    a = Target.Column
    b = Target.Row
    c = Target.Validation.Type
    If (a = 3 Or a = 6 Or a = 9) And b > 5 And c = 3 Then
        Range(Cells(b, a + 1), Cells(b, a + 2)).ClearContents
    End If
End Sub
[/vba]

апдэйт
забыл про "нет"
макрос выше будет очищать при любом выборе в списке
исправляю:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    a = Target.Column
    b = Target.Row
    c = Target.Validation.Type
    If (a = 3 Or a = 6 Or a = 9) And b > 5 Then
        u = Target.Value
        If u = "нет" Then Range(Cells(b, a + 1), Cells(b, a + 2)).ClearContents
    End If
End Sub
[/vba]
К сообщению приложен файл: 15.xlsm(23.9 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Четверг, 27.01.2022, 09:48
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    a = Target.Column
    b = Target.Row
    c = Target.Validation.Type
    If (a = 3 Or a = 6 Or a = 9) And b > 5 And c = 3 Then
        Range(Cells(b, a + 1), Cells(b, a + 2)).ClearContents
    End If
End Sub
[/vba]

апдэйт
забыл про "нет"
макрос выше будет очищать при любом выборе в списке
исправляю:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    a = Target.Column
    b = Target.Row
    c = Target.Validation.Type
    If (a = 3 Or a = 6 Or a = 9) And b > 5 Then
        u = Target.Value
        If u = "нет" Then Range(Cells(b, a + 1), Cells(b, a + 2)).ClearContents
    End If
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 27.01.2022 в 08:52
gfkq Дата: Пятница, 28.01.2022, 11:36 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Огромнейшее спасибо!!! Подскажите пожалуйста, данный макрос можно применить к другому документу? так как тут выкладываю черновик, а основной документ еще на стадии создания. Задумка в основном документе такая же, отличие только в новом столбце. Появился 4 столбец, с выпадающим списком, который так же надо что бы обнулялся в строке с "нет"


Сообщение отредактировал gfkq - Пятница, 28.01.2022, 11:51
 
Ответить
СообщениеОгромнейшее спасибо!!! Подскажите пожалуйста, данный макрос можно применить к другому документу? так как тут выкладываю черновик, а основной документ еще на стадии создания. Задумка в основном документе такая же, отличие только в новом столбце. Появился 4 столбец, с выпадающим списком, который так же надо что бы обнулялся в строке с "нет"

Автор - gfkq
Дата добавления - 28.01.2022 в 11:36
Nic70y Дата: Пятница, 28.01.2022, 11:52 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 7722
Репутация: 1852 ±
Замечаний: 0% ±

Excel 2010
данный макрос можно применить к другому документу?
можно.
надо понимать, что
(a = 3 Or a = 6 Or a = 9)
это номера столбцов, где нужные списки,
начиная с 6-й строки


ЮMoney 41001841029809
 
Ответить
Сообщение
данный макрос можно применить к другому документу?
можно.
надо понимать, что
(a = 3 Or a = 6 Or a = 9)
это номера столбцов, где нужные списки,
начиная с 6-й строки

Автор - Nic70y
Дата добавления - 28.01.2022 в 11:52
bmv98rus Дата: Пятница, 28.01.2022, 12:07 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3944
Репутация: 724 ±
Замечаний: 0% ±

Excel 2013/2016
 c = Target.Validation.Type
во втором уже лишний.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
 c = Target.Validation.Type
во втором уже лишний.

Автор - bmv98rus
Дата добавления - 28.01.2022 в 12:07
gfkq Дата: Пятница, 28.01.2022, 12:11 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

огромное спасибо!!! [offtop]попытаюсь разобраться (гугл как говорится мне в помощь ))). Если я не разберусь можно я приду с готовым документом, через месяц полтора.[/offtop]


Сообщение отредактировал gfkq - Пятница, 28.01.2022, 12:12
 
Ответить
Сообщениеогромное спасибо!!! [offtop]попытаюсь разобраться (гугл как говорится мне в помощь ))). Если я не разберусь можно я приду с готовым документом, через месяц полтора.[/offtop]

Автор - gfkq
Дата добавления - 28.01.2022 в 12:11
Nic70y Дата: Пятница, 28.01.2022, 12:17 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 7722
Репутация: 1852 ±
Замечаний: 0% ±

Excel 2010
во втором уже лишний.
не лишний, шо-то редактировал - провтыкал[vba]
Код
If (a = 3 Or a = 6 Or a = 9) And b > 5 And c = 3 Then
[/vba]


ЮMoney 41001841029809
 
Ответить
Сообщение
во втором уже лишний.
не лишний, шо-то редактировал - провтыкал[vba]
Код
If (a = 3 Or a = 6 Or a = 9) And b > 5 And c = 3 Then
[/vba]

Автор - Nic70y
Дата добавления - 28.01.2022 в 12:17
gfkq Дата: Воскресенье, 30.01.2022, 15:31 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, Скажите пожалуйста, у меня почти все получилось, но не обнуляется 4ый столбец.
Цитата
If u = "нет" Then Range(Cells(b, a + 1), Cells(b, a + 2)).ClearContents

Изменил
Цитата
Cells(b, a + 2))

На
Цитата
Cells(b, a + 3))


Вроде все заработало, правильное ли это решение?

Итого получилось у меня все как вы писали

Цитата
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
a = Target.Column
b = Target.Row
c = Target.Validation.Type
If (a = 1 Or a = 5 Or a = 9 Or a = 13) And b > 6 Then
u = Target.Value
If u = "нет" Then Range(Cells(b, a + 1), Cells(b, a + 3)).ClearContents
End If
End Sub

Не испортят ли исправления мои что нибудь?


Сообщение отредактировал gfkq - Воскресенье, 30.01.2022, 17:59
 
Ответить
СообщениеNic70y, Скажите пожалуйста, у меня почти все получилось, но не обнуляется 4ый столбец.
Цитата
If u = "нет" Then Range(Cells(b, a + 1), Cells(b, a + 2)).ClearContents

Изменил
Цитата
Cells(b, a + 2))

На
Цитата
Cells(b, a + 3))


Вроде все заработало, правильное ли это решение?

Итого получилось у меня все как вы писали

Цитата
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
a = Target.Column
b = Target.Row
c = Target.Validation.Type
If (a = 1 Or a = 5 Or a = 9 Or a = 13) And b > 6 Then
u = Target.Value
If u = "нет" Then Range(Cells(b, a + 1), Cells(b, a + 3)).ClearContents
End If
End Sub

Не испортят ли исправления мои что нибудь?

Автор - gfkq
Дата добавления - 30.01.2022 в 15:31
Nic70y Дата: Понедельник, 31.01.2022, 09:29 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 7722
Репутация: 1852 ±
Замечаний: 0% ±

Excel 2010
gfkq, все верно, единственное
[vba]
Код
If (a = 1 Or a = 5 Or a = 9 Or a = 13) And b > 6 And c = 3 Then
[/vba]это я случайно стер в №2
c=3 - проверка, что в ячейке выпадающий список,
если она не нужна, тогда оставляете как есть,
но удаляете строку[vba]
Код
c = Target.Validation.Type
[/vba]


ЮMoney 41001841029809
 
Ответить
Сообщениеgfkq, все верно, единственное
[vba]
Код
If (a = 1 Or a = 5 Or a = 9 Or a = 13) And b > 6 And c = 3 Then
[/vba]это я случайно стер в №2
c=3 - проверка, что в ячейке выпадающий список,
если она не нужна, тогда оставляете как есть,
но удаляете строку[vba]
Код
c = Target.Validation.Type
[/vba]

Автор - Nic70y
Дата добавления - 31.01.2022 в 09:29
gfkq Дата: Понедельник, 31.01.2022, 12:50 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, Классно все получилось!!! Огромнейшее вам спасибо!!!

[offtop]эмоции прут через край)))

 
Ответить
СообщениеNic70y, Классно все получилось!!! Огромнейшее вам спасибо!!!

[offtop]эмоции прут через край)))


Автор - gfkq
Дата добавления - 31.01.2022 в 12:50
gfkq Дата: Среда, 02.02.2022, 17:09 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, прошу меня простить , за беспокойство! подскажите пожалуйста , возможно ли сделать так что бы ячейка со словом "нет" так же очищалась как и остальные?
 
Ответить
СообщениеNic70y, прошу меня простить , за беспокойство! подскажите пожалуйста , возможно ли сделать так что бы ячейка со словом "нет" так же очищалась как и остальные?

Автор - gfkq
Дата добавления - 02.02.2022 в 17:09
Nic70y Дата: Среда, 02.02.2022, 17:15 | Сообщение № 12
Группа: Друзья
Ранг: Экселист
Сообщений: 7722
Репутация: 1852 ±
Замечаний: 0% ±

Excel 2010
Cells(b, a + 1)
убрать + 1


ЮMoney 41001841029809
 
Ответить
Сообщение
Cells(b, a + 1)
убрать + 1

Автор - Nic70y
Дата добавления - 02.02.2022 в 17:15
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Обнуление данных выпадающих списков (Иное/Other)
  • Страница 1 из 1
  • 1
Поиск:

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