Cada que se carga, se borra o se asignan cursos se tiene que hacer la suma.
Este es la suma en la carga:
Private Sub ComboBox1_Change() 'carga los registros existentes
'Por.Dante Amor
Label3 = ""
Label39 = ""
If ComboBox1 = "" Then Exit Sub
Label3 = Hoja2.Cells(ComboBox1.ListIndex + 2, "B")
'
Set h = Sheets("Asignaciones")
Set r = h.Columns("A")
Set b = r.Find(ComboBox1, Lookat:=xlWhole)
If Not b Is Nothing Then
ncell = b.Address
Do
ListBox2. AddItem
ListBox2. List(ListBox2.ListCount - 1, 0) = h. Cells(b.Row, "B")
ListBox2. List(ListBox2.ListCount - 1, 1) = h. Cells(b.Row, "C")
ListBox2. List(ListBox2.ListCount - 1, 2) = h. Cells(b.Row, "D")
ListBox2. List(ListBox2.ListCount - 1, 3) = h. Cells(b.Row, "E")
ListBox2. List(ListBox2.ListCount - 1, 4) = h. Cells(b.Row, "F")
ListBox2.List(ListBox2.ListCount - 1, 5) = b.Row
Label39 = Val(Label39) + h.Cells(b.Row, "F")
Set b = r.FindNext(b)
Loop While Not b Is Nothing And b.Address <> ncell
End If
End Sub
Esta es la suma en el borrado
Private Sub CommandButton2_Click() 'Borrar
'Por.Dante Amor
If ListBox2.ListIndex > -1 Then
For i = 0 To ListBox2.ListCount - 1
If ListBox2.List(i, 5) = 0 Then
existen = True
End If
Next
f = ListBox2.List(ListBox2.ListIndex, 5)
If f = 0 Then
ListBox2.RemoveItem ListBox2.ListIndex
Else
If existen Then
MsgBox "Existen asignaciones pendientes de Insertar", vbCritical, "NO SE PUEDE BORRAR"
existen = False
Exit Sub
Else
Sheets("asignaciones").Rows(f).Delete
ListBox2.Clear
ComboBox1_Change
End If
End If
End If
Label39 = ""
For i = 0 To ListBox2.ListCount - 1
Label39 = Val(Label39) + ListBox2.List(i, 4)
Next
existen = False
End Sub
Y por último este es en las asignaciones
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) 'asignar
'Por.Dante Amor
If ListBox1.ListIndex > -1 Then
If Val(Label39) + Val(ListBox1.List(ListBox1.ListIndex, 4)) > 20 Then
MsgBox "El docente tiene más de 20 horas asignadas", vbInformation, "Asignar"
Exit Sub
End If
'
UserForm3.Show
If UserForm3.ListBox1.ListIndex > -1 Then
turno = UserForm3.ListBox1.List(UserForm3.ListBox1.ListIndex)
ListBox2.AddItem
ListBox2.List(ListBox2.ListCount - 1, 0) = ListBox1.List(ListBox1.ListIndex, 0)
ListBox2.List(ListBox2.ListCount - 1, 1) = ComboBox2
ListBox2.List(ListBox2.ListCount - 1, 2) = ComboBox3
ListBox2.List(ListBox2.ListCount - 1, 3) = turno
ListBox2.List(ListBox2.ListCount - 1, 4) = ListBox1.List(ListBox1.ListIndex, 4)
ListBox2.List(ListBox2.ListCount - 1, 5) = 0
Label39 = Val(Label39) + Val(ListBox1.List(ListBox1.ListIndex, 4))
'ListBox1.RemoveItem ListBox1.ListIndex
End If
End If
End Sub