Страницы: 1
RSS
Автоматизация теста в excel (VBA)
 
Здравствуйте, нужна помощь с автоматизацией создания теста, в столбце "А" вопрос, в столбце "B" имеется 4 варианта ответа (b2:b5, b6:b9, b10:b13), стоит вопрос как ускорить создание теста и как проверять его (вопросов больше 300), я решил сделать так, в столбце "С" вывести список с вариантами ответов, в столбце "D" записана формула: если в колонне С выбрали ответ равный правильному из колонны B, то записывается 1, иначе 0, например, . Потом в самом конце теста подсчитывается сумма единиц умножается на 100 и делится на количество единиц (количество вопросов), например,  
Код
=IF(B3=C2;1;0)
Но проставлять всё выше перечисленное в каждую строчку, а тем более с помощью data validation делать выпадающие списки долго, хотелось бы автоматизировать этот процесс. Начал писать скрипт, но возникла проблема, как скопировать диапазон с ответами для создания выпадающего списка в VBA, пока что имеется такой скрипт:
Код
Sub auto_add_answer()
' auto_add_answer Macro
'
    ActiveCell.Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="ActiveCell.Offset(0, -1)"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
    ActiveCell.Offset(1, 0).Select
End Sub

Помогите дописать его, пожалуйста.

Алгоритм должен быть следующий:
Берется активная ячейка (С2) и в ней создаётся выпадающий список из данных B2:B5, затем в ячейки C6 создаётся выпадающий список из B6:B9, затем в ячейки C10 создаётся выпадающий список из B10:B3 и так далее, этот скрипт прикреплю к кнопке.
Изменено: bronzor - 04.11.2019 23:12:55
 
Здравствуйте.
Цитата
bronzor написал:
затем в ячейки C6 создаётся
"Затем", за чем? После чего? Что должно произойти чтобы создался список? Если просто хотите создать много ячеек с выпадающими списками, каждый со своим диапазоном, то пропишите для выпадающего списка в С2 диапазон B2:B5. Копируйте эту ячейку в С6 и у вас выпадающий список с новым-своим диапазоном. Хотите скрипт, пишите цикл  вставки скопированной ячейки с шагом 4.
 
bronzor, код следует оформлять соответствующим тегом. Ищите такую кнопку (см. скрин) и исправьте своё сообщение.
Страницы: 1
Наверх