It makes some more sense, but it doesn't explain the second column of combo boxes nor the use of a combo box for the total. I don't see why these items are not text boxes as you appear to be adding values to them.
If you name the total text box at the top TextTotal and the eight combo boxes on the left ComboBox1 to ComboBox8 and replace the combo boxes on the right with 8 text boxes TextBox1 to TextBox8 then the following code should do the job. Basically the Initialization sets the values in the combo boxes. When you click the command button the macro loops through the combo box controls and depending on the selection in the combo box either adds or subtracts the value in the text box of the same number to the sub total. Finally the sub total is compared with the total and if they match you will see a confirmation message and if not a warning. What you do with the values then will have to fit in with the rest of the process.
Option Explicit
Private Sub CommandButton1_Click()
Dim oCtrl As Control
Dim strBox As String
Dim i As Integer
Dim lngSubTotal As Long: lngSubTotal = 0
Dim lngTotal As Long
lngTotal = TextTotal.Value
For i = 1 To 8
For Each oCtrl In Controls
If TypeName(oCtrl) = "ComboBox" Then
If i = Val(GetNum(oCtrl.Name)) Then
strBox = "TextBox" & GetNum(oCtrl.Name)
Select Case oCtrl.Value
Case "Principal", "Interest", "Costs"
lngSubTotal = lngSubTotal + Controls(strBox).Value
Case "Paid"
lngSubTotal = lngSubTotal - Controls(strBox).Value
Case Else
End Select
End If
End If
Next oCtrl
Next i
If Not lngSubTotal = lngTotal Then
MsgBox "The entered values amount to " & lngSubTotal & vbCr & _
"and should be " & lngTotal
Exit Sub
Else
MsgBox "The values match"
End If
Unload Me
End Sub
Private Sub UserForm_Initialize()
Dim oCtrl As Control
For Each oCtrl In Controls
If TypeName(oCtrl) = "ComboBox" Then
oCtrl.Clear
oCtrl.AddItem "[Select Item]"
oCtrl.AddItem "Principal"
oCtrl.AddItem "Interest"
oCtrl.AddItem "Costs"
oCtrl.AddItem "Paid"
oCtrl.ListIndex = 0
End If
Next oCtrl
End Sub
Function GetNum(strText As String) As String
Dim strNum As String
Dim i As Integer
strNum = ""
For i = 1 To Len(strText)
If Mid(strText, i, 1) >= "0" And Mid(strText, i, 1) <= "9" Then
strNum = strNum + Mid(strText, i, 1)
End If
Next
GetNum = strNum
End Function