Jump to content
Sign in to follow this  
petercien1

Ejecutar macro en libro compartido

Recommended Posts

Estimados

Buenos Días

Tengo el siguiente código, que lo ejecuto en modo compartido y me genera un error, el mensaje es "Error definido por la Aplicacion o el Objeto" la verdad desconozco el porque de este error, e buscado en la web pero no he sido capaz de entender el porque.

En modo no compartido funciona bien.

Sub FormCond()

ufw = Range("A" & Rows.Count).End(xlUp).Row

With Range("A5", Range("K" & ufw))
.Interior.ColorIndex = xlNone
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=$M5=2"
.FormatConditions(1).Interior.Color = RGB(19, 203, 19)

.FormatConditions.Add Type:=xlExpression, Formula1:="=$R5=2"
.FormatConditions(2).Interior.Color = RGB(253, 78, 36)

.FormatConditions.Add Type:=xlExpression, Formula1:="=$r5=1"
.FormatConditions(3).Interior.ColorIndex = 8

.FormatConditions.Add Type:=xlExpression, Formula1:="=$c5=""NULA"""
.FormatConditions(4).Interior.ColorIndex = 20 ' Verde

.FormatConditions.Add Type:=xlExpression, Formula1:="=$c5=""REVISAR"""
.FormatConditions(5).Interior.ColorIndex = 22 ' Verde

.FormatConditions.Add Type:=xlExpression, Formula1:="=$c5=""MATRIZ"""
.FormatConditions(6).Interior.ColorIndex = 7 ' Verde
End With

With Range("o5", Range("o" & ufw))

.Interior.ColorIndex = xlNone
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=$O5=""OK"""
.FormatConditions(1).Interior.ColorIndex = 1
.FormatConditions.Add Type:=xlExpression, Formula1:="=$O5=""OK"""
.FormatConditions(1).Font.ColorIndex = 2


End With

Range("F5:F" & ufw).Select
Selection.FormatConditions.AddUniqueValues
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
Selection.FormatConditions(1).DupeUnique = xlDuplicate

With Selection.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub[/CODE]

Saludos Cordiales

Pedro Venegas Q.

Share this post


Link to post
Share on other sites

[uSER=384]@petercien1[/uSER] , hola, es que en manera normal los libros compartidos no ejecutan la tareas de macros, debes realizar unas rutinas previas, para descompartir los libros, ejecutas tu tarea y luego vuelves a compartir; espera ya te preparo la macro.

Saludos.

Share this post


Link to post
Share on other sites

[uSER=384]@petercien1[/uSER] , ensaya de ésta manera y comentas:

Sub FormCond()
'quitamos alertas
Application.DisplayAlerts = False
'evaluamos si el libro esta compartido
If ActiveWorkbook.MultiUserEditing Then
'si esta compartido, lo ponemos en modo exclusivo para hacer lo que deseas
ActiveWorkbook.ExclusiveAccess
'Aqui lo que deseas hacer

ufw = Range("A" & Rows.Count).End(xlUp).Row

With Range("A5", Range("K" & ufw))
.Interior.ColorIndex = xlNone
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=$M5=2"
.FormatConditions(1).Interior.Color = RGB(19, 203, 19)

.FormatConditions.Add Type:=xlExpression, Formula1:="=$R5=2"
.FormatConditions(2).Interior.Color = RGB(253, 78, 36)

.FormatConditions.Add Type:=xlExpression, Formula1:="=$r5=1"
.FormatConditions(3).Interior.ColorIndex = 8

.FormatConditions.Add Type:=xlExpression, Formula1:="=$c5=""NULA"""
.FormatConditions(4).Interior.ColorIndex = 20 ' Verde

.FormatConditions.Add Type:=xlExpression, Formula1:="=$c5=""REVISAR"""
.FormatConditions(5).Interior.ColorIndex = 22 ' Verde

.FormatConditions.Add Type:=xlExpression, Formula1:="=$c5=""MATRIZ"""
.FormatConditions(6).Interior.ColorIndex = 7 ' Verde
End With

With Range("o5", Range("o" & ufw))

.Interior.ColorIndex = xlNone
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=$O5=""OK"""
.FormatConditions(1).Interior.ColorIndex = 1
.FormatConditions.Add Type:=xlExpression, Formula1:="=$O5=""OK"""
.FormatConditions(1).Font.ColorIndex = 2


End With

Range("F5:F" & ufw).Select
Selection.FormatConditions.AddUniqueValues
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
Selection.FormatConditions(1).DupeUnique = xlDuplicate

With Selection.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False

'guardamos el libro nuevamente como compartido
ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.FullName, accessMode:=xlShared
End If
'activamos alertas
Application.DisplayAlerts = True

End Sub
[/CODE]

Share this post


Link to post
Share on other sites

Hola @jonetoja

Gracias por tu ayuda.

Tengo otros códigos que se ejecutan en el libro, Filtro avanzado, darle borde y calcular algunos campos y funciona bien.

Ahora bien al quitar el modo compartido que sucede con los demás usuarios del libro?.

Te reitero muchas gracias por tu ayuda.

Saludos Cordiales

Pedro Venegas

Share this post


Link to post
Share on other sites
Ahora bien al quitar el modo compartido que sucede con los demás usuarios del libro?.

Hasta ahora he probado en red y me ha funcionado a la perfección, creo que debe ser porque las tareas la realiza en casi fracción de segundos y es poco probable que se encuentren simultáneamente dos o más usuarios realizando una tarea, aunque eso puede pasar, lo probamos en una empresa con tres usuarios y no pasó nada.

Sería que probaras en la tuya a ver que sucede y comentes.

Lo único que he podido encontrar sobre el tema es lo siguiente:

Si no lo guardas automáticamente como "compartido al terminar tu proceso, si otro usuario lo abre, sera como "solo lectura"

Share this post


Link to post
Share on other sites

[uSER=140867]@jonetoja[/uSER]

Somos tres usuarios en el libro, realice pruebas y corrió bien, sin error alguno.

Te agradezco nuevamente, si algo sucede en el tiempo te lo comento, en un nuevo hilo para ir aprendiendo del tema.

Yo creo que deberíamos dar por finalizado este hilo.

Saludos Cordiales

Pedro Venegas Q.

Share this post


Link to post
Share on other sites

[uSER=140867]@jonetoja[/uSER] otra inquietud que tengo referente a los Libros compartidos es como el tamaño puede llegar a triplicarse en poco tiempo.

No he podido controlar esto, ya que a medida que el archivo aumenta se hace mucho mas lento el trabajar sobre el.

Lo único que me ha funcionado, es que cada dos o tres días, quitar el modo compartido y corro un código que @mjofra tiempo atrás.

Como reducir el tamaño de un archivo

Me funciona reduce el tamaño, luego de esto vuelvo a compartir.

Saludos Cordiales

Pedro Venegas Q.

Share this post


Link to post
Share on other sites

La verdad hasta ahora no he notado eso, debe ser porque no manejamos gran volumen de información,

Sugerencia:

  1. En el evento open del libro compartido colocar esa macro; los libros compartidos a pesar de estar en ese estado ejecutan las macros contenidas en él.
  2. Saber dónde tienes las macros; en el libro compartido, o en el que se ejecuta desde cualquiera de las estaciones de trabajo?

Share this post


Link to post
Share on other sites

[uSER=140867]@jonetoja[/uSER] lo de la consulta web, no lo he podido realizar, estoy recién volviendo de una larga licencia medica y por eso tengo muy poco tiempo. Pero tranquilo que lo veré, es una herramienta muy útil si logramos solucionar.

Por otro lado lo del libro compartido, probare dejando el código en el evento open.

Las macros están en el mismo libro, había pensado en dejarlas en el libro Personal, pero como me funcionaban los códigos que tenia, desistí de esto.

Saludos Cordiales

Pedro Vengas Q.

Share this post


Link to post
Share on other sites
Las macros están en el mismo libro, había pensado en dejarlas en el libro Personal, pero como me funcionaban los códigos que tenia, desistí de esto.

Considera la posibilidad de el compartido mantenerlo como solo almacenamiento de información y los demás sean los que ejecutan las macros, o creo que eso es lo que ya tienes?

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×
×
  • Create New...

Important Information

Privacy Policy

Ayuda Excel - Madrid, Madrid, ES - Valorada por 5112 personas - Aprender Excel - Total: 4.7 / 5