Buen día, antes que nada saludar y comentar que soy nuevo en el foro. Espero no solo encontrar respuestas sino poder colaborar.
Trataré de describir lo mejor posible el problema que intento resolver, por supuesto que antes ya he buscado bastante en diversos foros, hay problemas similares pero que en mi caso no han sido solución.
Trabajo con archivos excel con macros sencillas todo almacenado en sitios de Sharepoint. Las macros a que me refiero suelen ser simples botones que tras hacer ciertas validaciones de comparación ponen fecha y hora en una celda, con un Now(). Sin embargo, de manera muy recurrente tales archivos suelen presentar a los usuarios el mensaje de "No se puede encontrar el proyecto o la biblioteca". En dichos archivos al ingresar al editor de VBA no se muestra la ventana de código y aparece todo deshabilitado, por lo que no es posible ver las referencias.
La única manera en que de momento "soluciono" es abriendo el archivo en otra PC, exclusivamente en mi PC... Si se abre en cualquier otra muestra el mismo error. Hecho lo anterior ya el usuario puede abrir el archivo y trabajar, hasta que mas tarde vuelve a ocurrir. Como comento, no solo es un archivo, son distintos y ocurre con distintos usuarios, la "solución" siempre es la misma, abrir el archivo en Mi PC.
Alguien que trabaja muy bien con macros me comentó que es casi seguro que el problema es SharePoint, por ello es que lo publico en este foro.
La versión de excel que utilizamos todos es la misma, la diferencia es que mi PC, por alguna razón tiene el SO en "Spanglish"... Aún cuando se ha formateado varias veces, se instala en inglés con paquete de idioma en español. Las demás PC's si están originalmente en Español. No se si esto sea la causa por la que solo en mi computadora se pueden "reparar" esos archivos y en dado caso cual sea la solución. La cuestión es que de formatear mi máquina y ponerle un SO identico a los demás tal vez ya no pueda reparar los archivos cuando les marque el error. Anexo un ejemplo real de una de mis macros, practicamente todas son similares, no utilizo bibliotecas externas, sino solo las funciones ya integradas en VBA.
Gracias de antemano por la ayuda que me puedan otorgar.
Sub recibir()
vOC = Range("A" & ActiveCell.Row)
If IsEmpty(vOC) Then
MsgBox "Seleccione una orden de compra", vbOKOnly + vbExclamation, "Aviso"
End
End If
'Verificar si no fue enviada anteriormente
vRecibida = Range("E" & ActiveCell.Row)
If IsEmpty(vRecibida) = False Then
MsgBox "Esta OC ya fue recibida anteriormente", vbOKOnly + vbCritical, "Aviso"
End
End If
pregunta = MsgBox("¿Desea recibir la OC " + vOC + "?", vbYesNo + vbDefaultButton2 + vbQuestion, "Pregunta")
If pregunta = vbYes Then
'Desprotege la hoja
ActiveSheet.Unprotect
Range("E" & ActiveCell.Row).Select
ActiveCell.Value = Now()
MsgBox "La orden de compra ha sido recibida", vbOKOnly + vbInformation, "Aviso"
vRango = "A" & ActiveCell.Row & ":G" & ActiveCell.Row
Worksheets("Captura").Range(vRango).Locked = True
'Activa protección de la hoja
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
End If
End Sub
Trataré de describir lo mejor posible el problema que intento resolver, por supuesto que antes ya he buscado bastante en diversos foros, hay problemas similares pero que en mi caso no han sido solución.
Trabajo con archivos excel con macros sencillas todo almacenado en sitios de Sharepoint. Las macros a que me refiero suelen ser simples botones que tras hacer ciertas validaciones de comparación ponen fecha y hora en una celda, con un Now(). Sin embargo, de manera muy recurrente tales archivos suelen presentar a los usuarios el mensaje de "No se puede encontrar el proyecto o la biblioteca". En dichos archivos al ingresar al editor de VBA no se muestra la ventana de código y aparece todo deshabilitado, por lo que no es posible ver las referencias.
La única manera en que de momento "soluciono" es abriendo el archivo en otra PC, exclusivamente en mi PC... Si se abre en cualquier otra muestra el mismo error. Hecho lo anterior ya el usuario puede abrir el archivo y trabajar, hasta que mas tarde vuelve a ocurrir. Como comento, no solo es un archivo, son distintos y ocurre con distintos usuarios, la "solución" siempre es la misma, abrir el archivo en Mi PC.
Alguien que trabaja muy bien con macros me comentó que es casi seguro que el problema es SharePoint, por ello es que lo publico en este foro.
La versión de excel que utilizamos todos es la misma, la diferencia es que mi PC, por alguna razón tiene el SO en "Spanglish"... Aún cuando se ha formateado varias veces, se instala en inglés con paquete de idioma en español. Las demás PC's si están originalmente en Español. No se si esto sea la causa por la que solo en mi computadora se pueden "reparar" esos archivos y en dado caso cual sea la solución. La cuestión es que de formatear mi máquina y ponerle un SO identico a los demás tal vez ya no pueda reparar los archivos cuando les marque el error. Anexo un ejemplo real de una de mis macros, practicamente todas son similares, no utilizo bibliotecas externas, sino solo las funciones ya integradas en VBA.
Gracias de antemano por la ayuda que me puedan otorgar.
Sub recibir()
vOC = Range("A" & ActiveCell.Row)
If IsEmpty(vOC) Then
MsgBox "Seleccione una orden de compra", vbOKOnly + vbExclamation, "Aviso"
End
End If
'Verificar si no fue enviada anteriormente
vRecibida = Range("E" & ActiveCell.Row)
If IsEmpty(vRecibida) = False Then
MsgBox "Esta OC ya fue recibida anteriormente", vbOKOnly + vbCritical, "Aviso"
End
End If
pregunta = MsgBox("¿Desea recibir la OC " + vOC + "?", vbYesNo + vbDefaultButton2 + vbQuestion, "Pregunta")
If pregunta = vbYes Then
'Desprotege la hoja
ActiveSheet.Unprotect
Range("E" & ActiveCell.Row).Select
ActiveCell.Value = Now()
MsgBox "La orden de compra ha sido recibida", vbOKOnly + vbInformation, "Aviso"
vRango = "A" & ActiveCell.Row & ":G" & ActiveCell.Row
Worksheets("Captura").Range(vRango).Locked = True
'Activa protección de la hoja
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
End If
End Sub