|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Помогите создать тест в VBA exel |
|
VBA - Помогите создать тест в VBA exel
|
Новый участник Сообщения: 2 |
Профиль | Отправить PM | Цитировать Задание состоит в следующем: Создать на VBA тест, который запрашивает у пользователя фамилию и задает 12 произвольных примеров (генерируемых случайным образом) на проверку таблицы умножения. Фамилия тестируемого и оценка за тест выводятся в свободные ячейки рабочего листа.
Как запросить фамилию ясно, но как случайным образом генерировать вопросы? |
|
Отправлено: 21:08, 19-05-2015 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Нася:
Скрытый текст
Option Explicit
Sub Sample()
Dim strName As String
Dim i As Integer
Dim x1 As Integer
Dim x2 As Integer
Dim strAnswer As String
With ThisWorkbook.Sheets.Item(1)
.Range(.Cells.Item(1, 1), .Cells.Item(14, 4)).Clear
strName = InputBox("Enter your name:", "Enter your name")
With .Cells
.Item(1, 1).Value = strName
Randomize Timer
i = 1
Do
x1 = Int(9 * Rnd + 1)
x2 = Int(9 * Rnd + 1)
strAnswer = Trim(InputBox(x1 & " x " & x2 & " = ?", "Question #" & CStr(i)))
If IsNumeric(strAnswer) Then
.Item(i + 1, 1).Value = x1
.Item(i + 1, 2).Value = x2
.Item(i + 1, 3).Value = x1 * x2
.Item(i + 1, 4).Value = CInt(strAnswer)
If x1 * x2 = CInt(strAnswer) Then
.Item(i + 1, 4).Interior.ColorIndex = 4
Else
.Item(i + 1, 4).Interior.ColorIndex = 3
End If
i = i + 1
Else
If MsgBox("Need only digits." & vbCrLf & vbCrLf & "Try again?", vbYesNo + vbExclamation, "Need only digits") = vbNo Then
MsgBox "Test failed!", vbOKOnly + vbCritical, "Test failed"
Exit Do
End If
End If
Loop While i <= 12
.Item(i + 1, 1).Value = "Result: bla-bla-bla."
End With
End With
End Sub
Алгоритм расчёта оценки Вами не указан, добавляйте сами. |
|
Отправлено: 22:35, 19-05-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Спасибо огромное) Вы очень помогли
У меня есть еще один вопрос. Задание: Разработать программу, которая запрашивает у пользователя необходимые данные о поступающих студентах и создает на рабочем листе Excel базу данных студентов факультета. Названия полей базы данных: фамилия, оценка1, оценка2, решение о зачислении вводятся в ячейки A1:Е1 рабочего листа. Заполнение базы данных осуществляется в соответствующие ячейки строк 2, 3, … Данные о студенте вводятся на форме: Фамилия – в текстовое поле; оценки (по 5ти-бальной шкале)– указываются с помощью счетчика. Решение о зачислении принимается с помощью кнопки и выводится в соответствующие ячейки. Проходной балл составляет 9 баллов. Один момент не получается, как сделать чтобы при каждом новом вводе таблица продолжалась? Наверняка нужно через цикл,но я не могу сделать чтобы работала. Подскажите структуру, пожалуйста. |
Отправлено: 08:47, 23-05-2015 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Нася:
|
|
Отправлено: 15:47, 23-05-2015 | #4 |
Пользователь Сообщения: 105
|
Профиль | Отправить PM | Цитировать Вот пример с таблицей, только вместо формы я использовал inputbox
Посмотрите. Для перехода на последнюю заполненную ячейку использовал End(xlDown) Для смещения по строкам использовал Offset(1,0) ' сместиться на строку ниже |
|
Последний раз редактировалось artemu88, 24-04-2020 в 18:19. Отправлено: 18:13, 24-04-2020 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать artemu88, это у Вас вопрос или ответ был?
|
Отправлено: 00:07, 25-04-2020 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBA - VBA Excel помогите решить | Мария74 | Программирование и базы данных | 1 | 19-02-2011 12:58 | |
VBA - [решено] Помогите решить. VBA | zena | Программирование и базы данных | 12 | 20-12-2010 10:39 | |
VBA - помогите решить задачку VBA | vivat | Программирование и базы данных | 1 | 25-11-2010 11:52 | |
Разное - помогите решить задачу по поиску решения Exel | vivat | Программирование и базы данных | 0 | 23-11-2010 22:03 | |
VBA - помогите решить задачку Vba + Excel | hellp123 | Программирование и базы данных | 3 | 14-03-2009 01:15 |
|