У меня проблема с математикой или кодом, из-за которой вычисление значений в выпадающем списке будет неточным. Где сумма должна быть 100%, я получаю либо 80%, либо 125%.
Есть 11 комбинированных списков, которые могут быть 1-5 или NA. NA имеет значение 0.
Вот код, который я использую:
Private Sub CommandButton1_Click()
Dim c As Control, n1 As Long, n2 As Long, n3 As Long, n4 As Long, n5 As Long
n1 = 0
n2 = 0
n3 = 0
n4 = 0
n5 = 0
For Each c In Me.Controls
If TypeName(c) = "ComboBox" Then
If c.Value = "1" Then n1 = n1 + 1
If c.Value = "2" Then n2 = n2 + 2
If c.Value = "3" Then n3 = n3 + 3
If c.Value = "4" Then n4 = n4 + 4
If c.Value = "5" Then n5 = n5 + 5
End If
Next c
TXTCount = (n1 + n2 + n3 + n4 + n5)
For Each c In Me.Controls
If TypeName(c) = "ComboBox" Then
If c.Value = "1" Then n1 = n1 + 1
If c.Value = "2" Then n2 = n2 + 1
If c.Value = "3" Then n3 = n3 + 1
If c.Value = "4" Then n4 = n4 + 1
If c.Value = "5" Then n5 = n5 + 1
End If
Next c
TXTPotential = (n1 + n2 + n3 + n4 + n5 * 4)
TXTScore = TXTCount.Value / TXTPotential.Value
(результаты могут превышать 100% при большем количестве 4 и 5 баллов)