Lo que observe es que la tabla tblSistema no esta nombrada, y agregue dos líneas de código "On error resumne next" con eso me guarda el registro
Function insertarRegistro(noidbd As String, idcl As String, idprov As String, detalle As String, unitario As String) As String
Dim ultFila, filaRegistro, existe As Long
Dim confirmacionRegistro As String
confirmacionRegistro = "NO"
ultFila = Range("A" & Rows.Count).End(xlUp).Row
If ultFila < 5 Then
filaRegistro = 5
Else
filaRegistro = ultFila + 1
End If
If ultFila < 5 Then
ultFila = 5
End If
existe = filaExisteRegistro(noidbd, "A5:A" & ultFila)
If existe > 0 Then
MsgBox "El número de código ya existe en Catálogo.", vbCritical, "Master Car"
insertarRegistro = confirmacionRegistro
Exit Function
End If
'SE AGREGO ESTA LINEA DE CODIGO
On Error Resume Next
' Asignacion de datos a los campos de la base de datos clientes
Productos.Cells(filaRegistro, 1) = noidbd
Productos.Cells(filaRegistro, 2) = idcl
Productos.Cells(filaRegistro, 3) = idprov
Productos.Cells(filaRegistro, 4) = detalle
Productos.Cells(filaRegistro, 5) = unitario
' Confirmación de registro ingresado de datos a los campos de la base de datos
MsgBox "Registro almacenado exitosamente.", vbInformation, "Master Car"
confirmacionRegistro = "Ingresado"
insertarRegistro = confirmacionRegistro
End Function
' Control ingreso de duplicado de registros a la base de datos
Private Function filaExisteRegistro(noidbd As String, rangoConsulta As String) As Long
Dim numeroFila As Long
numeroFila = 0
'SE AGREGO ESTA LINEA DE CODIGO
On Error Resume Next
With Productos.Range(rangoConsulta)
Set c = .Find(noidbd, Lookat:=xlWhole)
If Not c Is Nothing Then
numeroFila = c.Row
End If
End With
filaExisteRegistro = numeroFila
End Function