2015-11-24 2 views
0

Я сохранил лист excel, где в столбце A есть список всех параметров для определенного продукта, и снова в столбце D есть несколько параметров, которые мне нужно выбрать из набора всех параметры в столбце A.Автоматический выбор флажка в excel VBA

Возможно ли в vba инициировать событие щелчка, где оно должно сравниваться между столбцом A и столбцом D и автоматически устанавливать флажки, если он находит этот параметр.

enter image description here

Любая помощь приветствуется!

+0

Вы можете взглянуть на событие Worksheet_Change. Не могли бы вы описать, почему вы хотите, чтобы флажок был выбран? Было бы довольно просто использовать формулу рабочего листа для вывода да/нет в зависимости от того, является ли этот параметр частью списка имен параметров. –

+0

@ Макро-гросст. Причина, по которой я хочу автоматический выбор флажка, состоит в том, что список может вырасти почти до 100 или 150 параметров, и для пользователя требуется много времени, чтобы вручную сравнивать каждый параметр, поэтому, делая это автоматически, мы можем сэкономить значительное количество времени. –

+0

Что я имею в виду, было бы достаточно, если бы вы вместо проверки флажок имеет столбец, например Столбец C, где он просто сказал бы «да» или «нет» в зависимости от того, указан ли параметр в указанных именах? –

ответ

1

Хорошо, что вы можете сделать это:

Помещенных флажки (убедитесь, что они являются контроль формата флажки) в колонке C. (Убедитесь, что Галочка полностью в ячейке)

сообщение это в Worksheetmodul:

Private Sub Worksheet_Change(ByVal Target As Range) 

Dim chk As CheckBox 
Dim check As Boolean 
Dim rng As Range 

For Each chk In ActiveSheet.CheckBoxes 

    Set rng = Range("D:D").Find(what:=chk.TopLeftCell.Offset(0, -2).Value, _ 
    LookIn:=xlValues, _ 
    lookat:=xlWhole, _ 
    searchorder:=xlByRows, _ 
    searchdirection:=xlNext, _ 
    MatchCase:=False) 

    If Not rng Is Nothing Then 

     chk.Value = True 

    End If 

Next chk 

End Sub 

Каждый раз, когда значение изменяется в листе, к югу запускается.

+0

Что вы могли бы подумать о добавлении кнопки, которая при нажатии запускает этот суб, так как каждый раз, когда кто-то запускает событие, флажки проверяются. Поэтому, если кто-то отключил несколько флажков и внесет изменения в значение, они снова будут проверяться. –

+0

Спасибо, тонна Марко, это waht, которого я ожидал. Он работает отлично. Спасибо еще раз! –

Смежные вопросы