Error en Macro por cambio de Excel al 2013

El problema que se me presento es en una macro que funciona muy bien en el excel y sigue funcionando bien en el excel 2007 pero ahora que realice la actualizacion a excel 2013 la macro no funciona y me saca un error que es el Run Time 57121 y no se cual es el motivo al tratar de depurar la macro el error parece ser en el nombre que se le dio a las hojas y otra observacion es que el excel tiene diferente idioma el 2007 es en español y el 2013 es en ingles habria alguna diferencia?.

Alguien sabe porque me sale ese problema con la macro.

1 respuesta

Respuesta
1

Puedes poner la macro.

¿Dime exactamente qué mensaje de error te envía?

¿Cuándo presionas depurar en qué línea de la macro se detiene?

Hola Dante mira esta es la macro

Sub Auto_open()
'copiar el numero de pc y pegarlo en 'CC' para desplegar la informacion de la estacion donde se abre
Application.ScreenUpdating = False
Sheets("E Binder").Select
Sheets("CC").Visible = True
sComputer = Environ("computername")
sUserName = Environ("username")
Worksheets("CC").Range("B2").Value = sComputer
Worksheets("CC").Range("R1").Value = sUserName
'Filtro avanzado para buscar CC's que comparten PC
Sheets("CC").Range("B6:C3000").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets("CC"). _
Range("B1:B2"), CopyToRange:=Sheets("CC").Range("K1:L10"), Unique:=False
'Cambia el rango del nombre CC para validacion de pagina principal
lCount = WorksheetFunction.CountA(Sheets("CC").Range("K1:K100"))
ActiveWorkbook.Names("CC").RefersToR1C1 = "=CC!R2C12:R" & lCount & "C12"
    Sheets("E Binder").CommandButton1.Visible = False
'Cambia la celda que determina el CC que se usará y muestra mensaje
Sheets("E Binder").Range("F1").Value = Sheets("CC").Range("L2").Value
If Sheets("CC").Range("B3") > 1 Then
    Application.ScreenUpdating = True
    MsgBox "Elija el Centro de Costos que desea visualizar", vbOKOnly, ""
    Rows("1:1").EntireRow.Hidden = False
    Range("F1").Activate
ElseIf Sheets("CC").Range("B3") = 1 Then
    Rows("1:1").EntireRow.Hidden = True
    Application.ScreenUpdating = True
ElseIf Sheets("CC").Range("B3") = 0 Then
    lCount = WorksheetFunction.CountA(Sheets("CC").Range("C6:C1000"))
    ActiveWorkbook.Names("CC").RefersToR1C1 = "=CC!R7C3:R" & lCount + 6 & "C3"
    Application.ScreenUpdating = True
    MsgBox "Elija el Centro de Costos que desea visualizar", vbOKOnly, ""
    Sheets("CC").Rows("1:1").EntireRow.Hidden = False
    Range("F1").Activate
End If
Sheets("CC").Visible = xlVeryHidden
If Hoja4.Range("H2").Value <> "S" And _
Hoja4.Range("H2").Value <> "T" Then
    ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly
    Exit Sub
End If
If Hoja4.Range("H2").Value = "S" Or _
Hoja4.Range("H2").Value = "T" Then
    adminMenu.Show
    Sheets("E Binder").CommandButton1.Visible = True
    Sheets("E Binder").CommandButton2.Visible = True
    Sheets("Documentos").CommandButton2.Visible = True
End If
End Sub
Sub regresar()
'regresa a la pagina de inicio.
On Error Resume Next
    ActiveSheet.Unprotect Password:="gtc"
    ActiveSheet.ShowAllData
    Sheets("E Binder").Select
    Sheets("Documentos").Visible = xlVeryHidden
'    If Sheets("CC").Range("H2").Value = "S" Or _
'    Sheets("CC").Range("H2").Value = "T" Then
'
'        adminMenu.Show
'    End If
End Sub

Y el problema se presenta en esta linea te adjunto la imagen, tambien lo despliga luego luego de abriendo el archivo.

espero me puedas ayudar porque eh visto algunas computadoras que lo abren sin problema con el mismo excel 2013 pero la mia es la que no lo puede abrir y no se porque.

Gracias

Saludos.

el error es el siguiente

 pero antes sale este error que sale luego luego cuando abres el archivo

H o l a :

¿El excel 2013 es de microsoft o estás en una mac?

¿Existe la hoja con el nombre "E Binder"?

Cambia en la macro esta instrucción:

Sheets("E Binder").Select

Por esta:

WorkSheets("E Binder").Select

Prueba y me comentas.

Otra cosa.

Si existe la hoja "E Binder", ¿puedes revisar si está visible?

Hola Dante si si esta visible la hoja E binder te envio una foto de como deberia de salir y al principio te deberia de enviar un cuadro de dialogo el cual te pudiera dar a elegir que quieres hacer en el E binder, pero no lo hace y en vez de eso saca el error 57121.

Voy a intentar cambiar a worksheets y estoy en una version de Windows, no es version de MAC.

Saludos

Hola Dante ya hice el cambio de Sheets a WorkSheets y no cambia nada sigue con el error el 57121

H o l a :

Entra a las opciones de excel, Centro de confianza, Configuración del Centro de confianza, Configuración de ActiveX y selecciona Habilitar todos los controles:


Otra alternativa:

Cambia a esto:

Sheets("E Binder"). Activate


Otra:

Comenta en la macro estas líneas:

sComputer = Environ("computername")
SUserName = Environ("username")

Escribe en la hoja "CC" en la celda B2 el nombre de tu computadora y en la celda R1 escribe tu nombre de usuario.


S a l u d o s

La Hoja CC no le puedo escribir el nombre en las celdas ya que después de que se abre la macro se habilita la hoja CC si la macro no se habilita no muestra la página CC

No pasa nada sigue igual, también cambie lo que me dijiste en la macro y no hay cambio, lo unic que no intente fue lo de la página CC porque no puedo abrir la página

Entonces habilita manualmente la hoja "CC", entra a VBA y selecciona la hoja "CC" y en propiedades cambia Visible a Xlsheetvisible

Ya que tienes visible, escribe en la hoja "CC" en la celda B2 el nombre de tu computadora y en la celda R1 escribe tu nombre de usuario.

Prueba con esta macro:

Sub Auto_open()
    'copiar el numero de pc y pegarlo en 'CC' para desplegar la informacion de la estacion donde se abre
    Application.ScreenUpdating = False
    Sheets("E Binder").Activate
    'Sheets("CC").Visible = True
    'sComputer = Environ("computername")
    'sUserName = Environ("username")
    'Worksheets("CC").Range("B2").Value = sComputer
    'Worksheets("CC").Range("R1").Value = sUserName
    'Filtro avanzado para buscar CC's que comparten PC
    Sheets("CC").Range("B6:C3000").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets("CC"). _
    Range("B1:B2"), CopyToRange:=Sheets("CC").Range("K1:L10"), Unique:=False
    'Cambia el rango del nombre CC para validacion de pagina principal
    lCount = WorksheetFunction.CountA(Sheets("CC").Range("K1:K100"))
    ActiveWorkbook.Names("CC").RefersToR1C1 = "=CC!R2C12:R" & lCount & "C12"
        Sheets("E Binder").CommandButton1.Visible = False
    'Cambia la celda que determina el CC que se usará y muestra mensaje
    Sheets("E Binder").Range("F1").Value = Sheets("CC").Range("L2").Value
    If Sheets("CC").Range("B3") > 1 Then
        Application.ScreenUpdating = True
        MsgBox "Elija el Centro de Costos que desea visualizar", vbOKOnly, ""
        Rows("1:1").EntireRow.Hidden = False
        Range("F1").Activate
    ElseIf Sheets("CC").Range("B3") = 1 Then
        Rows("1:1").EntireRow.Hidden = True
        Application.ScreenUpdating = True
    ElseIf Sheets("CC").Range("B3") = 0 Then
        lCount = WorksheetFunction.CountA(Sheets("CC").Range("C6:C1000"))
        ActiveWorkbook.Names("CC").RefersToR1C1 = "=CC!R7C3:R" & lCount + 6 & "C3"
        Application.ScreenUpdating = True
        MsgBox "Elija el Centro de Costos que desea visualizar", vbOKOnly, ""
        Sheets("CC").Rows("1:1").EntireRow.Hidden = False
        Range("F1").Activate
    End If
    'Sheets("CC").Visible = xlVeryHidden
    If Hoja4.Range("H2").Value <> "S" And _
    Hoja4.Range("H2").Value <> "T" Then
        ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly
        Exit Sub
    End If
    If Hoja4.Range("H2").Value = "S" Or _
    Hoja4.Range("H2").Value = "T" Then
        adminMenu.Show
        Sheets("E Binder").CommandButton1.Visible = True
        Sheets("E Binder").CommandButton2.Visible = True
        Sheets("Documentos").CommandButton2.Visible = True
    End If
End Sub

S a l u d o s

Ya realice los cambios que me dijiste y aun así no funciona sigue saliendo el error 57121 pero en otras computadoras con el mismo excel si función debe ser algo en mi PC que no permite el buen funcionamiento

Envíame tu archivo original con la macro original para revisarlo.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Jovanny sosa” y el título de esta pregunta.

no se si se pueda enviar el archivo pesa 9 MB, dejame ver q tanto lo puedo comprmir

Ya te envíe el archivo lo pude comprmimir

H  o l a:

La hoja está dañada, no es tu máquina.

Pide que te den un nuevo archivo que si funcione en otras máquinas.

O copia todo lo que tienes en la hoja "E Binder" a una nueva hoja, después elimina la hoja "E Binder". Renombra la nueva hoja como "E Binder"

Pero, lo mejor es que te envíen un nuevo archivo.

S a l u d o s 

H o l a:

Recuerda valorar la respuesta.

G r a c i a s

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas