UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo


No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

1RESUELTO Agilizar macros el 27/01/18, 05:21 pm

josemariarcas


Buenas noches amigos de Universo Excel, Perdona Ignacio, pero he estado con un gripazo de pantalones y no he podido abrir el ordenador, me comentabas, sobre mis macros de la cantidad de formatos condicionales  que llevaba para poder desarrollar lo que yo quería, bien he echo un pequeño esquema, donde te lo explico y lo que quiero que me haga esas macros, yo, como tu bien has visto las hice con formatos condicionales pero ¿hay otra manera que se pueda realizar lo que yo necesito?.

Un fuerte saludo a todos los amigos de Universo Exel.
muy cordialmente Jose Maria Arcas
Archivos
18 Agilizar Macros .xlsm
No tienes los permisos para descargar los archivos.
(126 KB)

2RESUELTO Re: Agilizar macros el 27/01/18, 10:30 pm

Igtelo

avatar
Hola Chema.

Te lo hice para lunes a viernes de c/semana, repite lo mismo para sábado y domingo.
En módulo1 está explicada la macro y te dejo imagen de los colores en otra hoja.

Ahora lo más importante: Aplicando el formato condicional te lo hace al cambiar el valor de cada celda, no me explico ¿Por qué la macro? No obstante ahí va.

Saludos
Ignacio Téllez
Moraleja: NO todo es macro, las herramientas normales de Excel hacen más rápido y seguro el trabajo...
Archivos
Josemariarcas-Color de celdas .xlsm
No tienes los permisos para descargar los archivos.
(78 KB)

3RESUELTO Re: Agilizar macros el 28/01/18, 10:08 am

josemariarcas


Buenos, días amigos de Universo Excel. Gracias a Ignacio Tellez por la ayuda que me mandas, y por tus molestias sobre mis temas de Excel, soy bastante novato en esta materia pero mi curiosidad es infinita y quiero, ya que por cabezonería terminar lo que hace muchos años empece y ahora ya jubilado estoy en el empeño. 

Vamos al tema: he pasado tu macro a mis macros y la fila 35 pasa a 309 y la fila 44 pasa a fila 369 por lo que tengo un contador de 70 filas en mi programa el lunes en pieza en la columna "C" y las cuatro semanas terminan en la columna "AD", todo esto lo he ido cambiando desde tu macro a mi macro, quedando la nueva macro así:

Sub CONTADOR_OPERARIOS()
Dim ss As String, celda As Range, w As Byte

'Borra fondos, color de letra y negrita
With Range("C309:Ad369")
.Interior.ColorIndex = xlNone
.Font.Bold = False
.Font.ColorIndex = xlAutomatic
End With

For w = 309 To 369     'Bucle externo para filas de 309 a 369
ss = "C" & w & ":" & "G" & w & "," & "J" & w & ":" & "N" & w & "," & "Q" & w & ":" & "U" & w & "," & "X" & w & ":" & "AB" & w  'Expresión de cadena para el rango
For Each celda In Range(ss)             'Bucle interno para el rango (Lunes a viernes de c/semana)
With celda
If .Value > Range("Ae" & w).Value Then  'Si valor de c/celda es mayor a AD...
.Font.Bold = True                       'Letra en negrita
.Font.ColorIndex = 6                    'Color letra en amarillo
.Interior.ColorIndex = 3                'Fondo en rojo
End If

If .Value < Range("Ae" & w).Value Then  'Si valor de celda es menor que AD...
.Font.Bold = True                       'Letra en negrita
.Font.ColorIndex = 1                    'Color letra negro
.Interior.ColorIndex = 4                'Fondo verde
End If
End With
Next  'Cierre bucle interno
Next  'Cierre bucle externo


For w = 309 To 369     'Bucle externo para filas de 309 a 369
ss = "G" & w & ":" & "H" & w & "," & "N" & w & ":" & "O" & w & "," & "U" & w & ":" & "V" & w & "," & "Ab" & w & ":" & "AC" & w  'Expresión de cadena para el rango
For Each celda In Range(ss)             'Bucle interno para el rango (Lunes a viernes de c/semana)
With celda
If .Value > Range("Af" & w).Value Then  'Si valor de c/celda es mayor a AD...
.Font.Bold = True                       'Letra en negrita
.Font.ColorIndex = 6                    'Color letra en amarillo
.Interior.ColorIndex = 3                'Fondo en rojo
End If

If .Value < Range("Af" & w).Value Then  'Si valor de celda es menor que AD...
.Font.Bold = True                       'Letra en negrita
.Font.ColorIndex = 1                    'Color letra negro
.Interior.ColorIndex = 4                'Fondo verde
End If
End With
Next                                    'Cierre bucle interno
Next                                    'Cierre bucle externo
'NOTA:
'La expresión de cadena (ss) es la concatenación de la columna,fila,2 puntos y la coma.
'Ejemplo ==> B35:F35,I35:M35,P35:T35,W35:AA35
'w va cambiando de 35 hasta 44

End Sub

Al ejecutar dicha Macro me da interrupcion en la linea
For w = 309 To 369     'Bucle externo para filas de 309 a 369
poniendose dicha linea en fondo amarillo.


Yo estos 28 días (cuatro semanas tengo que hacerlo en todo el año 2018 y este empieza en la columna "QE" ¿tengo que hacer todo el año de lunes a viernes y de sabado a domingo?.
Muchas gracias de antemano,
y un fuerte saludo a todos los amigos de U.Excel.
Jose María Arcas    

4RESUELTO Re: Agilizar macros el 28/01/18, 11:34 am

Igtelo

avatar
Chema:

Me da gusto tu deseo por aprender, toma en cuenta que es un foro para consultas no estarlos llevando de la mano, para ello busca en aportes de los usuarios y tutoriales, encuentras el material necesario para tu avance.

En la parte de avisos tienes el enlace del curso que ha hecho José Carlos, dedícale el tiempo requerido.

También te dejo estos 2 enlaces:

http://www.universoexcelforo.com/t1181-como-trabaja-una-macro-y-la-hoja-de-calculo-simultaneamente-videotutorial

http://www.universoexcelforo.com/t1461-encontrar-ayuda-en-vba-p-nuestras-macros-videotutorial

Para que tu macro trabaje cambia la declaración de la variable w de Byte a Integer o Long... También encuentras aportes al respecto.

Saludos
Ignacio Téllez

5RESUELTO Re: Agilizar macros el 28/01/18, 04:57 pm

Visor


Gracias Igtelo, a mi también me sirve los link que indicas revisar

6RESUELTO Re: Agilizar macros el 31/01/18, 12:34 pm

Igtelo

avatar
A falta de respuesta, lo doy por resuelto y cierro.

Ignacio Téllez

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.