2015-06-29 3 views
0

Я создаю форму в Excel, где пользователю нужно заполнить минимум 3/4 полей, но не все из них. Если он заполняет достаточное количество полей, результатом будет среднее значение всех полей. Если нет, ему нужно показать ему текст ошибки.Excel - минимальное количество обязательных полей

Кто-нибудь знает, как это сделать или если это можно сделать? Вот примеры:

Пример 1:

Field 1: Value 1 
Field 2: Value 2 
Field 3: Value 3 
Field 4: Value 4 
Result: Average of all 4 fields 

Пример 2:

Field 1: Value 1 
Field 2: Value 2 
Field 3: Value 3 
Field 4: Empty 
Result: Average of 3 fields 

Пример 3:

Field 1: Value 1 
Field 2: Value 2 
Field 3: Empty 
Field 4: Empty 
Result: Error Text 

ответ

0

Добавьте к этому коду UserForm в:

Private Sub CommandButton1_Click() 

Dim cCont As Control 
Dim Sum As Double, Count As Integer 

Sum = 0 
Count = 0 

For Each cCont In Me.Controls 

    If TypeName(cCont) = "TextBox" Then 
     If IsNumeric(cCont.Text) Then 
      Sum = Sum + cCont.Text 
      Count = Count + 1 
     End If 
    End If 

Next cCont 

If Count > 2 Then 
    MsgBox "Average of all " & Count & " fields: " & Sum/Count 
Else 
    MsgBox "Error Text" 
End If 

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