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 se pueden hacer consultas de Excel o VBA por mensaje privado.
Utiliza el botón buscar del foro y te ahorras tiempo para obtener "ayuda".

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 Contador de fechas el 26/02/13, 10:12 am

®bital


Un saludo a todos, últimamente he estado un tanto complicado con el trabajo, pero aquí estoy de vuelta y con nuevas dudas..jejejeje.
Miren el fichero que quiero modificar lo adjunto, ahí pongo lo que quiero lograr del mismo.

Un saludo de antemano.
Archivos
contador.zip
No tienes los permisos para descargar los archivos.
(17 KB)

2RESUELTO Re: Contador de fechas el 26/02/13, 11:10 am

tyno


Hola Orbital.

Te paso el archivo con una macro que creo cumple con tu pedido, es decir solo vas a poder ingresar cuatro fechas diferentes (lo que no se si en principio va a ver un fecha inicial que no tendría color).
Cuando se ingrese la cuarta fecha, la celda se pone de color rojo y en base a este color la macro impide ingresar un nuevo dato. Claro que esto no es totalmente inflanqueable ya que con solo seleccionar el boton de diseño de macros, la macro precisamente deja de funcionar y no cumpliria su cometido de evitar que se ingresen datos.
Por otro lado hice que tambien exista la posibilidad de ingresar o modificar las fechas sin necesidad de seleccionar el boton de diseño de macros (el que tiene como una regla y una escuadra pequeña). Supongamos que necesitas resetear los campos de fechas o ingresar nuevos datos por lo que seria necesario que la macro no se active momentaneamente, entonces lo que hay que hacer es "doble click" sobre el encabezado que dice "Fecha entrada" o "Fecha salida" y vas a ver que estos rotulos van a cambiar a "Fecha entrada." o "Fecha salida." (es el mismo texto pero con un punto al final), esto va a servir como una referncia para que la macro deje de actuar cuando tengas que ingresar nuevos datos, luego una vez que has terminado, nuevamente hay que hacer "doble click" para que el rotulo quede como estaba originalmente y la macro vuelva a funcionar.
Cualquier consulta por aqui estaremos. Saludos.
Archivos
contador de fechas.xls
No tienes los permisos para descargar los archivos.
(43 KB)

3RESUELTO Re: Contador de fechas el 26/02/13, 03:21 pm

®bital


Gracias Tyno por ayudarme con este problemita. Pero mira cuando doy doble click en Fecha de entrada, también me interesaría que el rango de las celdas que tengan fecha les quite el color de fondo.

Saludos de antemano

4RESUELTO Re: Contador de fechas el 26/02/13, 04:08 pm

tyno


Paso el archivo con la modificacion para que al seleccionar el rotulo "Fecha entrada" se quite el color de las columnas, lo que no se si necesitabas que tambien se quite el color de la columna de "Fecha salida"??, cualquier cosa lo modifico de nuevo. Cuando se activa el rotulo "Fecha entrada" para quitar el color de las fechas que se quiera la otra alternativa es simplemente quitar el color con la herramienta de "color de relleno" seleccionando la opcion sin color de relleno. Saludos
Archivos
contador de fechas.xls
No tienes los permisos para descargar los archivos.
(42 KB)

5RESUELTO Re: Contador de fechas el 26/02/13, 04:27 pm

®bital


muy bien eso me ayuda un poco a la hora de cambiar el color a todas las celdas. Pero Tyno me di cuenta de que cuando tu te paras arriba de una celda y presionas , por ejemplo la tecla del, la celda cambia de color.

Me interesaría que cambie solo cuando tenga una fecha, discúlpame por la insistencia.

Saludos

6RESUELTO Re: Contador de fechas el 26/02/13, 04:42 pm

tyno


No hay problemas.
Ahora cuando borres una fecha la celda queda sin color, es que considere que el hecho de borrar una fecha ya contaba como una modificacion. Cualquier detalle que falte me avisas. Saludos
Archivos
contador de fechas.xls
No tienes los permisos para descargar los archivos.
(42 KB)

7RESUELTO Re: Contador de fechas el 26/02/13, 04:57 pm

®bital


Ya casi estamos terminando, Tyno fíjate que si das doble click sobre una de las celdas también cambia de color, mira a ver si eso podría tener solución?


Saludos

8RESUELTO Re: Contador de fechas el 26/02/13, 05:27 pm

tyno


Claro, la macro que hace los cambios de colores funciona con el evento WorkSheets-Change, por eso al hacer un doble click dentro de un rango especifico la macro se ejecuta y hace lo suyo. Ahora lo que hice es que al hacer doble click sobre las celdas donde van las fechas no sea posible la seleccion de dichas celdas para que no se cambie el color, es decir se puede seleccionar la celda con un solo click o desplazandose con las flechas de direccion, tabular o enter y de esta manera modificar las fechas, lo que si hara el cambio de colores. Saludos
Archivos
contador de fechas.xls
No tienes los permisos para descargar los archivos.
(43 KB)

9RESUELTO Re: Contador de fechas el 27/02/13, 09:22 am

®bital


Muchas gracias Tyno , ya logre lo que quería que hiciera.

Nos vemos en la próxima

10RESUELTO Re: Contador de fechas el 27/02/13, 12:51 pm

®bital


Una pregunta mas en caso de que quisiera cambiar los cuatros colores, como se haría?

11RESUELTO Re: Contador de fechas el 27/02/13, 02:47 pm

tyno


En ese caso tendrias que modificar algunos valores en la macros. En la misma hoja "Control de almacen" , abris el editor de macros y buscas los dos codigos que te muestro abajo

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Dim rg As Range
Set rg = Range("g5:h65536")
If Union(Target, rg).Address = rg.Address Then
If Range("g4") = "Fecha entrada" And Range("h4") = "Fecha salida" Then
If Target <> "" Then
Select Case Target.Interior.ColorIndex
Case xlNone
Target.Interior.ColorIndex = 36 '<<<<<<<<<<<<<36= amarillo claro
Case 36
Target.Interior.ColorIndex = 6 '<<<<<<<<<<<<<6 =amarillo
Case 6
Target.Interior.ColorIndex = 44 '<<<<<<<<<<<<<44 =naranja
Case 44
Target.Interior.ColorIndex = 3 '<<<<<<<<<<<<<3= rojo
End Select
Else
Target.Interior.ColorIndex = xlNone
End If
End If
End If
End Sub
_________________________________________________________________
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Dim rg As Range
Set rg = Range("g5:h10")
If Union(Target, rg).Address = rg.Address Then
If Range("g4") = "Fecha entrada" And Range("h4") = "Fecha salida" Then
If Target.Interior.ColorIndex = 3 Then Target.Offset(0, 1).Select'<<<<<<<3= rojo
End If
End If
End Sub

En este ultimo codigo es necesario poner el valor del ultimo color correspiente a la cuarta modificacion permitida, ya que esta instruccion es la que evita que sigan haciendo mas modificaciones.


Entonces seria cuestion que cambies esos valores numericos que te señalo por lo valores correspondientes al color que necesitas.

Con la siguiente macro que encontre por ahi podes obtener la paleta de colores y sus respectivos nombre. Si queres utilizar esta macro tenes que pegarla en un Modulo comun (el cual vas a tener que insertar) en el editor de macros y luego la ejecutas, te inserta una nueva Hoja Excel con los colores:

Sub colores()

Dim x As Long

With Sheets.Add

For x = 1 To 56

Select Case x
Case Is < 15
.Cells(x, 1).Interior.ColorIndex = x
.Cells(x, 2).Value = " --> " & x
Case Is < 29
.Cells(x - 14, 3).Interior.ColorIndex = x
.Cells(x - 14, 4).Value = " --> " & x
Case Is < 43
.Cells(x - 28, 5).Interior.ColorIndex = x
.Cells(x - 28, 6).Value = " --> " & x
Case Is < 57
.Cells(x - 42, 7).Interior.ColorIndex = x
.Cells(x - 42, 8 ).Value = " --> " & x
End Select

Next x

End With

End Sub

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.