Excel - Agrupar varias Macros en una

 
Vista:
Imágen de perfil de Jose Maria

Agrupar varias Macros en una

Publicado por Jose Maria (22 intervenciones) el 09/05/2016 14:51:41
Hola, Buenos días a todos, necesito de vuestra ayuda, si podéis me respondéis. muchas gracias de antemano.
Tengo un programa con los doce meses del año con formulas condicionales que segun una 13ª hoja se van cabiando las celdas de los doce mes a distintos colores cogiendo esos valores de la 13ª hoja pero no puedo unificar la macro en una y tengo 12 macros "Ene., Feb., y asi los doce mesesos mando el encavezado y final de la macro:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Sub ENERO()
'
' ENERO Macro
'
 
'
Sheets("ENE.").Select
Range("A1:BZ200").Select
ActiveSheet.Unprotect
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.Unprotect
Selection.FormatConditions.Delete
Range("A1:BZ200").Select
Range("BZ200").Activate
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="='CREAR'!$E$6"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Bold = True
.Italic = False
.Color = -16777088
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent1
.TintAndShade = 0.399945066682943
End With
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="='CREAR'!$F$6"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Bold = True
.Italic = False
.Color = -16777088
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent1
.TintAndShade = 0.399945066682943

y la parte final de la macro
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
End With
Selection.FormatConditions(1).StopIfTrue = False
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="='CREARTURNO'!$E$50"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Bold = True
.Italic = False
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="='CREARTURNO'!$F$50"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Bold = True
.Italic = False
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.14996795556505
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
Sheets("ENE.").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Range("A1").Select
End Sub

Así con los doce meses, como puedo unificarlos en una sola macro lo he intentado poniendo en la cavezera ("Ene. ,Feb.) , y asi los doce meses pero no me funciona la macro.
cualquier solucion me que daria satisfecho .
muchas gracias de antemano
Jose Maria Arcas
Lorca Murcia España.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Agrupar varias Macros en una

Publicado por agustin (149 intervenciones) el 09/05/2016 16:07:13
Depende de varias cosas. ¿como ejecutas cada macro? Lo ideal es que si todas las macros son iguales y el nombre de la página y el color pues coje esa misma función y le tienes que pasar esos argumentos:
Private Sub DarColor (página As String, color As Long)
Luego en cada lugar de la función que uses alguno de esos datos los sustituyes por el nombre de su variable.
Para llamarla por ejemplo:
DarColor ("ENE.",vbred)
DarColor ("FEB.",vbblue)
Con eso tendrías una sola función para todos los meses.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Agrupar varias Macros en una

Publicado por agustin (149 intervenciones) el 09/05/2016 19:23:23
Te mando una prueba que hice con varias dudas comentadas en el codigo tuyo.
He creado un UserForm el cual tiene un ComboBox donde elije un mes y tambien tiene un boton que al dar en el ejecuta todo el codigo necesario.
Para mostrar el UserForm Pulsa Ctrl+D.
Las dudas que tengo van en las lineas que añades el formato condicional y poco mas. Ya nos cuentas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.136
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Agrupar varias Macros en una

Publicado por Andres Leonardo (1583 intervenciones) el 09/05/2016 21:00:57
Pues lo logico seria que hagas una solo y que el tema de "ENE" sea un parametro y que cuando se ejecute llames al procedimiento

Sub macro(Mes as string)
'Este es tu codigo de toda la macro
Sheets(MES).Select
' y todo el resto
End sub

cuando la invoques

Macro y mes segun que desees...

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Jose Maria

Agrupar varias Macros en una

Publicado por Jose Maria (22 intervenciones) el 15/05/2016 12:01:37
Gracias Andres, Hay cosas que no entiendo te voy a mandar las macros enteras y si puedes me las corriges. y si se pueden unificar en solo una con los doce meses , eso es lo que yo quiero.
Gracias de antemano.
Un saludo Jose Maria Arcas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jose Maria

Agrupar varias Macros en una

Publicado por Jose Maria (22 intervenciones) el 16/05/2016 19:11:16
Hola, buenas tardes Andrés Leonardo, le he mandado las tres macros de ENE.,FEB.,y MAR., para que veas como son. y si se pueden unificar en una sola, se las he mandado en Word. ¿las necesitas en Excel?. Asi son el resto de meses.
Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jose Maria

Agrupar varias Macros en una

Publicado por Jose Maria (22 intervenciones) el 16/05/2016 21:00:45
Por fin ya esta solucionado.
gracias amigo Andres con lo que me has mandado ha sido suficiente.
Un fuerte saludo
Jose MAria Arcas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar