Error 2147417848(80010108) en excel 2013

Tengo un problema con una código en vba que no logro resolver. El código pertenece a un formulario. Tengo uno prácticamente igual en otro formulario -que trabaja con otra tabla -y anda bien, pero con este no hay caso.

El código es el que pego a continuación. Algunas veces el error aparece en la primer línea marcada, y otras llega ubicar el primer valor en la tabla, pero no llega al segundo.

El error que marca es el " '-2147417848(80010108)'. Se ha perdido la conexión con la biblioteca de tipos o con la biblioteca de objetos para procesos remotos". Es un archivo de excel 2013, ubicado en una carpeta de mi PC, no tiene nada raro, recién lo estoy empezando desarrollar. Luego de saltar el error, excel se cierra y se reinicia.

Private Sub cmdAceptar_Click()
Application.ScreenUpdating = False

'Opción 1

If Me.optTransportista = True Then
If Me.txtRazonSocial = "" Then MsgBox "La Razón Social no puede estar vacía", vbOKOnly, "TRANSPORTE": Exit Sub
If Not Sheets("DatosTransportistas").Range("T_Transportista[TRANSPORTISTA]").Find(WHAT:=Me.txtRazonSocial) Is Nothing Then _
MsgBox "La Razón social ya existe", vbOKOnly, "TRANSPORTE": Exit Sub
If Sheets("DatosTransportistas").Range("T_Transportista[TRANSPORTISTA]").Find(WHAT:=Me.txtRazonSocial) Is Nothing Then
Sheets("DatosTransportistas").Activate
If Trim(Range("B3").Value) = "" Then
Range("B3").Activate
Else
Range("B2").End(xlDown)(xlDropDown).Activate
End If
Sheets("DatosTransportistas").Visible = True
Sheets("DatosTransportistas").Activate
ActiveCell.Offset(0, 0).Value = Me.txtRazonSocial
ActiveCell.Offset(0, 1).Value = Val(Me.txtCUIT)
ActiveCell.Offset(0, 2).Value = Me.txtTel
ActiveCell.Offset(0, 3).Value = Me.txtDomicilio
ActiveCell.Offset(0, 4).Value = Me.txtLocalidad
ActiveCell.Offset(0, 5).Value = Me.txtPcia
'ordenar
Sheets("DatosTransportistas").Activate
Range("T_Transportista").Select
ActiveWorkbook.Worksheets("DatosTransportistas").ListObjects("T_Transportista").Sort.SortFields. _
Clear
ActiveWorkbook.Worksheets("DatosTransportistas").ListObjects("T_Transportista").Sort.SortFields. _
Add Key:=Range("T_Transportista[TRANSPORTISTA]"), SortOn:=xlSortOnValues, Order _
:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("DatosTransportistas").ListObjects("T_Transportista").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Sheets("DatosTransportistas").Activate
Range("A1").Activate
MsgBox "El Transportista " & Me.txtRazonSocial & " se agregó correctamente", vbOKOnly, "TRANSPORTE"
Me.txtRazonSocial = ""
Me.txtCUIT = ""
Me.txtDomicilio = ""
Me.txtLocalidad = ""
Me.txtPcia = ""
Me.txtTel = ""
Sheets("DatosTransportistas").Visible = xlVeryHidden
End If
Sheets("Inicio").Activate
End If

'Opción 2

If Me.optChofer = True Then
If Me.txtChofer = "" Then MsgBox "El Chófer no puede estar vacío", vbOKOnly, "TRANSPORTE": Exit Sub
If Me.cmbTransportista <> "" Then If Me.cmbTransportista.ListIndex = -1 Then MsgBox "Debe seleccionar un elemento de la lista", vbOKOnly, "TRANSPORTE": Exit Sub
If Not Sheets("DatosTransportes").Range("T_DatosTransporte[CHÓFER]").Find(WHAT:=Me.txtChofer) Is Nothing Then _
MsgBox "El Chófer ya existe", vbOKOnly, "TRANSPORTE": Exit Sub
If Sheets("DatosTransportes").Range("T_DatosTransporte[CHÓFER]").Find(WHAT:=Me.txtChofer) Is Nothing Then
Sheets("DatosTransportes").Visible = True
Sheets("DatosTransportes").Activate
If Trim(Range("B3").Value) = "" Then
Range("B3").Activate
Else
Range("B2").End(xlDown)(xlDropDown).Activate
End If
Sheets("DatosTransportes").Visible = True
Sheets("DatosTransportes").Activate
ActiveCell.Offset(0, 0).Value = Me.txtChofer
ActiveCell.Offset(0, 1).Value = Val(Me.txtCUITCUIL)
ActiveCell.Offset(0, 2).Value = Me.cmbTransportista
ActiveCell.Offset(0, 3).Value = Me.txtCamion
ActiveCell.Offset(0, 4).Value = Me.txtAcoplado
ActiveCell.Offset(0, 5).Value = Me.txtTelChofer
'ordenar
Sheets("DatosTransportes").Activate
Range("T_DatosTransporte").Select
ActiveWorkbook.Worksheets("DatosTransportes").ListObjects("T_DatosTransporte").Sort.SortFields. _
Clear
ActiveWorkbook.Worksheets("DatosTransportes").ListObjects("T_DatosTransporte").Sort.SortFields. _
Add Key:=Range("T_DatosTransporte[CHÓFER]"), SortOn:=xlSortOnValues, Order _
:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("DatosTransportes").ListObjects("T_DatosTransporte").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Sheets("DatosTransportes").Activate
Range("A1").Activate
MsgBox "El Chófer " & Me.txtChofer & " se agregó correctamente", vbOKOnly, "TRANSPORTE"
Me.txtChofer = ""
Me.txtCUITCUIL = ""
Me.cmbTransportista = ""
Me.txtCamion = ""
Me.txtAcoplado = ""
Me.txtTelChofer = ""
Sheets("DatosTransportes").Visible = xlVeryHidden
End If
Sheets("Inicio").Activate
End If
Application.ScreenUpdating = True
End Sub

Es pero puedas ayudarme ya que estoy realmente perdida esta vez.

Desde ya te agradezco. Te mandaría una copia del archivo pero no encuentro como subirlo.

Respuesta
2

Yo no tengo Excel 2013, tengo 2010 asi que no se si pueda probar tu código...

Este tipo de error tiene causas muy diversas pero por lo que tu explicas pareciera que en algún momento el ámbito del formulario sale del ámbito del proyecto... Este error a veces pasa imperceptible en proyectos pequeños.. pero si se complican...

El detalle es que tu indicas que es un archivo sencillo lo cual no me hace entender el porqué del error...

Si puedes subirme tu archivo.. enviamelo (indica tu usuario) ... a ver si le doy una revisada...

Saludos,

Jaime Segura

[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas