ElseIf Not Intersect(Target, Range("E11:E29")) Is Nothing Then
If Cells.Activate("D11:D29") = ("ТП") Then Set d = Range("ТП")
ElseIf ("D11:D29") = ("ТБ") Then Set f = Range("ТП")
If WorksheetFunction.CountIf(d, Target) = 0 Then
r = MsgBox("Добавить значение в список?", vbYesNo)
If r = vbYes Then d.Cells(d.Rows.Count + 1) = Target
End If
End If
End Sub
Я дурак в VBA. Подскажите как записать следующие слова только на языке макроса "Если в ячейках D11:D29 появляется значение "ТБ" тогда новое значение записанное в ячейках E11:E29 также будет записываться в именованный диапазон "ТБ", а если в ячейках D11:D29 появляется значение "ТП" тогда новое значение записанное в ячейках E11:E29 также будет записываться и в именованный диапазон "ТП" и так несколько раз
С предыдущей проблемой я разобрался. Осталась заключительная она же и самая важная.
Если поможете, я буду очень Вам признателен!
Объясню суть здесь и в файле(пример) Excel!. Я сделал выпадающий список, при помощи функции ДВССЫЛ, т.е. в соответствии с выбором определенного значения в одном столбце в другом появляются данные, которые относятся только к одному значению и так далее с несколькими пунктами. Также был написан макрос (не я, благодаря уроку Павлова) на добавление новых значений в выпадающий список. Нужно сделать с этим макросом так, чтобы можно было добавлять новые значения в соответствии с названием столбца.
Здесь, конечно, не особо понятно, но думаю в файле эксель будет лучше. Прошу прощения чрезвычайную тупость.
Private Sub Worksheet_Change(ByVal Target As Range)
Set a = Range("Номер")
If Target.Cells.Count > 1 Then Exit Sub
If IsEmpty(Target) Then Exit Sub
If Not Intersect(Target, Range("B12:B37")) Is Nothing Then
If WorksheetFunction.CountIf(a, Target) = 0 Then
r = MsgBox("Добавить новое значение в справочник?", vbYesNo)
If r = vbYes Then a.Cells(a.Rows.Count + 1) = Target
Set a = Range("Время")
If Not Intersect(Target, Range("C12:C37")) Is Nothing Then
If WorksheetFunction.CountIf(b, Target) = 0 Then
r = MsgBox("Добавить новое значение в справочник?", vbYesNo)
If r = vbYes Then b.Cells(b.Rows.Count + 1) = Target
End If
End If
End Sub
Здравствуйте, мне нужно сделать выпадающий список с добавлением новых значений в нескольких столбцах, при добавлении двух процедур они естественно конфликтуют. (Чайник экселя)
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Set p = Range("Номер")
If Target.Cells.Count > 1 Then Exit Sub
If IsEmpty(Target) Then Exit Sub
If Not Intersect(Target, Range("B12:B37")) Is Nothing Then
If WorksheetFunction.CountIf(p, Target) = 0 Then
r = MsgBox("Добавить новое значение в справочник?", vbYesNo)
If r = vbYes Then p.Cells(p.Rows.Count + 1) = Target
End If
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Set p = Range("Время")
If Target.Cells.Count > 1 Then Exit Sub
If IsEmpty(Target) Then Exit Sub
If Not Intersect(Target, Range("С12:С37")) Is Nothing Then
If WorksheetFunction.CountIf(p, Target) = 0 Then
r = MsgBox("Добавить новое значение в справочник?", vbYesNo)
If r = vbYes Then p.Cells(p.Rows.Count + 1) = Target
End If
End If
End Sub