Excel TextBox UserForm Error 13 'No Coinciden Los Tipos'
No soy experta en programar en Excel a través del VB pero estoy haciendo un sistema de facturación y necesito que me guarde algunos datos de las retenciones. Hice un UserForm y agregué lo que necesito para luego guardarlo en una hoja. Dentro del Userform unos TextBox me hacen los cálculos pero cuando le doy al botón guardar me arroja el error 13 'No coinciden los tipos'. Me guarda la información en la hoja y hace todo lo que quiero pero me da ese error que no sé como quitar. Seguro es una tontería que no veo pero espero me puedan ayudar. Aquí coloco todo lo que he hecho:
Private Sub TextBox1_Change()
On Error Resume Next
Set busco = Sheets("BASE DE DATOS X FACTURA").Range("B:B").Find(Trim(TextBox1.Value), LookIn:=xlValues, lookat:=xlWhole)
If Not busco Is Nothing Then
TextBox4.Value = busco.Offset(0, 2)
TextBox5.Value = busco.Offset(0, 1)
TextBox6.Value = busco.Offset(0, 0)
TextBox7.Value = busco.Offset(0, -1)
TextBox8.Value = busco.Offset(0, 3)
TextBox9.Value = busco.Offset(0, 6)
TextBox10.Value = busco.Offset(0, 4)
TextBox6 = Format(TextBox6, "00000")
TextBox8 = Format(TextBox8, " #,000.00")
TextBox9 = Format(TextBox9, " #,000.00")
TextBox10 = Format(TextBox10, " #,000.00")
TextBox11 = Format(TextBox11, " #,00")
TextBox12 = Format(TextBox12, " #,000.00")
TextBox13 = Format(TextBox13, " #,000.00")
End If
End Sub
Private Sub TextBox11_Change()
ActiveSheet.Unprotect
TextBox12 = (TextBox11 / 100) * TextBox9 (Aquí es donde me da el error)
TextBox13 = TextBox9 - TextBox12
TextBox9 = Format(TextBox9, " #,000.00")
TextBox11 = Format(TextBox11, " #,00")
TextBox12 = Format(TextBox12, " #,000.00")
TextBox13 = Format(TextBox13, " #,000.00")
ActiveSheet.Protect
End Sub
Private Sub guardar_Click()
ActiveSheet.Unprotect
Dim Fila As Integer
Dim Final As Integer
Dim Registro As Integer
Dim celda, Rango As String
For Fila = 6 To 1000
If Sheets("BASE DE DATOS RETENCIONES").Cells(Fila, 2) = "" Then
Final = Fila
Exit For
End If
Next
For Registro = 6 To Final
If Sheets("BASE DE DATOS RETENCIONES").Cells(Registro, 2) = frm_Retencion.TextBox2 Then
MsgBox "Retención ya Existe!"
frm_Retencion.TextBox1 = ""
frm_Retencion.TextBox2 = ""
frm_Retencion.TextBox3 = ""
frm_Retencion.TextBox4 = ""
frm_Retencion.TextBox5 = ""
frm_Retencion.TextBox6 = ""
frm_Retencion.TextBox7 = ""
frm_Retencion.TextBox8 = ""
frm_Retencion.TextBox9 = ""
frm_Retencion.TextBox10 = ""
frm_Retencion.TextBox11 = ""
frm_Retencion.TextBox12 = ""
frm_Retencion.TextBox13 = ""
Exit Sub
Exit For
End If
Next
If MsgBox("Los Datos Suministrados son Correctos?" + Chr(13) + "Desea Guardar?", vbOKCancel) = vbOK Then
Sheets("BASE DE DATOS RETENCIONES").Cells(Final, 1) = frm_Retencion.TextBox3
Sheets("BASE DE DATOS RETENCIONES").Cells(Final, 2) = frm_Retencion.TextBox2
Sheets("BASE DE DATOS RETENCIONES").Cells(Final, 3) = frm_Retencion.TextBox5
Sheets("BASE DE DATOS RETENCIONES").Cells(Final, 4) = frm_Retencion.TextBox4
Sheets("BASE DE DATOS RETENCIONES").Cells(Final, 5) = frm_Retencion.TextBox6
Sheets("BASE DE DATOS RETENCIONES").Cells(Final, 6) = frm_Retencion.TextBox11
Sheets("BASE DE DATOS RETENCIONES").Cells(Final, 7) = frm_Retencion.TextBox12
Sheets("BASE DE DATOS RETENCIONES").Cells(Final, 8) = frm_Retencion.TextBox13
frm_Retencion.TextBox1 = ""
frm_Retencion.TextBox2 = ""
frm_Retencion.TextBox3 = ""
frm_Retencion.TextBox4 = ""
frm_Retencion.TextBox5 = ""
frm_Retencion.TextBox6 = ""
frm_Retencion.TextBox7 = ""
frm_Retencion.TextBox8 = ""
frm_Retencion.TextBox9 = ""
frm_Retencion.TextBox10 = ""
frm_Retencion.TextBox11 = ""
frm_Retencion.TextBox12 = ""
frm_Retencion.TextBox13 = ""
Else
Exit Sub
End If
Sheets("BASE DE DATOS RETENCIONES").Cells(Final - 2, 1).Copy
Sheets("BASE DE DATOS RETENCIONES").Cells(Final, 1).Select
Selection.PasteSpecial Paste:=xlFormats
Application.CutCopyMode = False
Sheets("BASE DE DATOS RETENCIONES").Cells(Final - 2, 2).Copy
Sheets("BASE DE DATOS RETENCIONES").Cells(Final, 2).Select
Selection.PasteSpecial Paste:=xlFormats
Application.CutCopyMode = False
Sheets("BASE DE DATOS RETENCIONES").Cells(Final - 2, 3).Copy
Sheets("BASE DE DATOS RETENCIONES").Cells(Final, 3).Select
Selection.PasteSpecial Paste:=xlFormats
Application.CutCopyMode = False
Sheets("BASE DE DATOS RETENCIONES").Cells(Final - 2, 4).Copy
Sheets("BASE DE DATOS RETENCIONES").Cells(Final, 4).Select
Selection.PasteSpecial Paste:=xlFormats
Application.CutCopyMode = False
ActiveSheet.Protect
End Sub
Private Sub cancelar_Click()
Unload Me
End Sub
Seguro hay cosas que están de más pero como les dije anteriormente no sé mucho, sin embargo hace todo lo que quiero a excepción del error que no quiero que lo muestre cada vez que le doy a guardar. Nuevamente espero me puedan ayudar.