Solucionar Error de tipo de datos en macro
Hola.
1.- Cuando quiero realizar el pago de una multa, busco la multa, la selecciono y elija la forma de pago(Información de pago)
-En el caso que elija "En Proceso" y en Dellate de pago seleccione "Sin Descuento" no es necesario poner la fecha de pago, porque todavía no se ah efectuado, en el formulario que se abre ahí me tendría que mostrar todos los campos que selecciono desde la base de excel, además tengo la hoja campos, de donde selecciono el valor de la UIT dependiendo de la fecha de pago por ejemplo todo el 01/02/2015 o 01/04/2015 el valor de la UIT es de 3850 por el año 2015, en el 2016 es de 3950. Pero cuando una multa ya esta pagada ahí si no me genera un error, ya que la fecha de pago ya esta en la base de excel, por eso selecciona el año de la fecha y busca en la hoja campos para seleccionar el valor de la uit(la columna AX es donde esta la fecha y es tipo Fecha)
Desde ya gracias por su tiempo y espero que me puedan ayudar, si necesitan el archivo me indican como subirlo porque no sé
Les Comparto el código y el mensaje de error
Private Sub UserForm_Initialize()
cboEstadoPago.AddItem ("PAGADO")
Dim UIT As Variant
UIT = ActiveCell.Offset(0, 65).Value 'La multa toma el valor de UIT Pagada
If UIT = Empty Then 'si la UIT es nula
Me.Controls("txtImporteUit").Value = ActiveCell.Offset(0, 77).Value 'Tomara la UIT de Pendiente de pago
Else
Me.Controls("txtImporteUit").Value = ActiveCell.Offset(0, 65).Value 'Si no Toma el valor de UIT Pagada
End If
Me.Controls("cboEmpresa").Value = FrmExpediente.cboEmpresa.Value
Me.Controls("cboEstadoPago").Value = FrmExpediente.ComboBox4.Value
Me.Controls("txtExpediente").Value = ActiveCell.Offset(0, 0).Value
Me.Controls("cboOrganismo").Value = FrmExpediente.cboOrganismo.Value
Me.Controls("txtPosiblePago").Value = FrmExpediente.TextBox26.Value
Me.Controls("txtResolucion").Value = ActiveCell.Offset(0, 83).Value
Me.Controls("txtFechaCobro").Value = ActiveCell.Offset(0, 82).Value
Me.Controls("txtFechaPago").Value = FrmExpediente.TextBox18
Me.Controls("txtIntereses").Value = Format(ActiveCell.Offset(0, 68).Value)
Dim FechaPago As Variant
FechaPago = Year(txtFechaPago)
If FechaPago = Empty Then
'Si la fecha de pago está vacia
txtValorUit.Value = ActiveCell.Offset(0, 74).Value 'Entonces toma el valor de la uit actual
Else
txtValorUit.Value = Application.WorksheetFunction.VLookup(FechaPago, Sheets("campos").Range("C1:D600"), 2, 0)
'Si no busca el año en la hoja campo y tome el valor
End If
txtAhorroDiferencia.Value = Format((FrmExpediente.txtUIT.Value * 1 - txtImporteUIT.Value * 1) * txtValorUit.Value, "#,###.00")
txtMonto.Value = Format(txtValorUit * txtImporteUIT, "#,###.00")
txtTotal.Value = Format(txtIntereses.Value * 1 + txtMonto.Value * 1, "#,###.00")
txtAhorroTotal.Value = Format(txtAhorroDiferencia.Value * 1 - txtIntereses.Value, "#,###.00")
End Sub