У меня есть пользовательская форма с 7 выпадающими списками, которые имеют опции Yes
, No
, Partially
и N/A
.Основываясь на ответе в каждом из ящиков, у меня есть текстовое поле, которое заполняет общий балл.
Yes = 1
,
Partially = 0.5
,
No = 0
и
NA = 0
.
У меня есть код, который вычисляет на основе ответов в выпадающем списке, и если я просто делю на общее количество полей (7), он вычисляет, однако, не все формы будут иметь 7 ответов (вариант NA есть, но тогда он в основном не 'не рассчитывать на или против них).Поэтому мне нужно выяснить, как разделить общий балл на общее количество ответов.Я уверен, что это очень просто, но я не изо всех сил пытаюсь понять это.
Это код, который у меня там есть, который не дает мне правильный%
TXTScore = Format((nYes + nPartial * 0.5) / nYes + nPartial + nNo, "Percent")
Private Sub CommandButton1_Click()
Dim c As Control, nYes As Long, nPartial As Long, nNo As Long
For Each c In Me.Controls
If TypeName(c) = "ComboBox" Then
If c.Value = "Yes" Then nYes = nYes + 1
If c.Value = "Partially" Then nPartial = nPartial + 1
If c.Value = "No" Then nNo = nNo + 1
End If
Next c
TXTScore = Format((nYes + nPartial * 0.5) / nYes + nPartial + nNo, "Percent")
End Sub
Например - 6 Да, ответ и 1 нет = 100%, 5 Да, 1 частично и 1 нет равны 92%