tag:blogger.com,1999:blog-4623278671508370136.post8212616210834744568..comments2023-08-01T13:39:53.991+02:00Comments on EXCEL FORO: Un blog de Excel: Macro VBA -selectionchange: Cambio color y tamaño celda.Excelforo - Ismael Romerohttp://www.blogger.com/profile/17680553534095355222noreply@blogger.comBlogger32125tag:blogger.com,1999:blog-4623278671508370136.post-29757029063981856912018-05-18T09:35:38.375+02:002018-05-18T09:35:38.375+02:00Hola!
usa
activecell.entirerow.interior.color=vbY...Hola!<br />usa <br />activecell.entirerow.interior.color=vbYelllow<br />en lugar de lo que se indica para dar color a la fila<br /><br />Saludos<br />Excelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-76857604172083447362018-05-17T11:29:36.668+02:002018-05-17T11:29:36.668+02:00Hola! ¿Como se podría hacer esto mismo pero que se...Hola! ¿Como se podría hacer esto mismo pero que se cambiara el color de la fila seleccionada y no de la celda? Me refiero que al hacer click en una celda se resalte la fila entera y no solo la celda.<br /><br />Gracias.Miguelhttps://www.blogger.com/profile/01114750610938445728noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-4172774822092106452015-09-24T17:25:44.877+02:002015-09-24T17:25:44.877+02:00Hola!
perdóname, pero no comprende ...
Claro está ...Hola!<br />perdóname, pero no comprende ...<br />Claro está basta eliminar las líneas de código que tocan el color, pero no entiendo a qué te refieres a que 'cambie el control de la celda activa'<br />:(<br />SldsExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-40338729569951611152015-09-24T15:13:22.940+02:002015-09-24T15:13:22.940+02:00hola, me re sirvio tu solucion.
lo que te queria e...hola, me re sirvio tu solucion.<br />lo que te queria es consultar, si hay posibilidad de que la celda activa no cambie de color, pero si que cambie el contro de la celda activa. Graciasananimohttps://www.blogger.com/profile/13381204825909703809noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-22305042625268926062014-02-21T17:09:15.852+01:002014-02-21T17:09:15.852+01:00Hola Juan,
me alegro te sirviera alguna de las sol...Hola Juan,<br />me alegro te sirviera alguna de las soluciones....<br />Un cordial saludo!!Excelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-18850811907896972872014-02-21T15:48:22.283+01:002014-02-21T15:48:22.283+01:00Muchas gracias, no sabía como crear la variable. A...Muchas gracias, no sabía como crear la variable. Al final me quedo así :<br />Private Sub Worksheet_SelectionChange(ByVal Target As Range)<br /><br />Dim ColorCelda As Long<br />On Error Resume Next<br />ColorCelda = Target.Interior.ColorIndex<br />If ActiveCell.Value < 0 Then<br />With Selection.Font<br />.Size = 12<br />.Color = -16776961<br />.Bold = True<br />End With<br />ElseIf ColorCelda < 0 Then<br />ColorCelda = 36<br />End If<br />Cells.FormatConditions.Delete<br />With Target<br />.FormatConditions.Add Type:=2, Formula1:="VERDADERO"<br />.FormatConditions(1).Interior.ColorIndex = ColorCelda<br />End With<br />End Sub<br />Le agregue una condición más que es lo único que necesito =).<br />Muchas gracias<br />Bueno, tampoco se puede ocupar deshacer (ctrl+z), me es de mucha ayuda, ya que es una planilla con más de 1millon de datos. 3mil filas y 400columnas aprox y muchas veces me pierdo.<br />Muchas gracias de nuevo =)Juan Castillohttps://www.blogger.com/profile/17074886330067949437noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-59554780052958033622014-02-21T10:00:32.108+01:002014-02-21T10:00:32.108+01:00Hola Juan,
correcto, ya lo preguntaron, y la respu...Hola Juan,<br />correcto, ya lo preguntaron, y la respuesta no puede ser otra:<br />Si deseas mantener el color original de la celda, deberás generar una variable que identifique el color de la celda seleccionada, para antes de salir del procedimiento volver a colorear el fondo asignándole la variable color original.<br /><br />Es decir, al comienzo de la macro, identifica mediante variables qué propiedades.<br /><br />O bien optar por este otro método algo diferente, que se aprovecha de los formatos condicionales:<br />Private Sub Worksheet_SelectionChange(ByVal Target As Range)<br />Dim ColorCelda As Long<br /><br />On Error Resume Next<br />ColorCelda = Target.Interior.ColorIndex<br />MsgBox ColorCelda<br />If ColorCelda < 0 Then<br /> ColorCelda = 36<br />End If<br /><br />Cells.FormatConditions.Delete<br />With Target<br /> .FormatConditions.Add Type:=2, Formula1:="VERDADERO"<br /> .FormatConditions(1).Interior.ColorIndex = ColorCelda<br />End With<br /><br />End Sub<br /><br />OJO!! por que elimina todos los formatos condicionales de la hoja!!!<br />SaludosExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-5887867512606560812014-02-20T21:05:15.169+01:002014-02-20T21:05:15.169+01:00Muy buen aporte, voy avanzando en lo que busco, pe...Muy buen aporte, voy avanzando en lo que busco, pero tengo un problema.<br />El código funciona bien, pero después no vuelve al color ni altura original.<br />Otro usuario pregunto lo mismo más arriba.Juan Castillohttps://www.blogger.com/profile/17074886330067949437noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-51972717628287051662013-08-26T20:32:02.041+02:002013-08-26T20:32:02.041+02:00Perfecto!
muchas gracias y un cordial saludoPerfecto!<br />muchas gracias y un cordial saludoExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-6245365235704170542013-08-26T20:06:18.419+02:002013-08-26T20:06:18.419+02:00Excelente
Muchas gracias por tu ayuda y apoyo, ya...Excelente<br /><br />Muchas gracias por tu ayuda y apoyo, ya complemente los dos códigos y me quedo como lo requiero.<br /><br />Nuevamente agradezco tu ayuda.<br /><br />Esperando que tu foro siga ayudandonos por mucho tiempo.<br /><br />Saludos<br /><br />Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-67848118835261525712013-08-26T18:18:09.816+02:002013-08-26T18:18:09.816+02:00ok,
recuerda incluir en el procedimiento, para con...ok,<br />recuerda incluir en el procedimiento, para controlar el rango de actuación, el condicional con INTERSECT<br />SdlsExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-58717824414324246142013-08-26T18:14:43.935+02:002013-08-26T18:14:43.935+02:00Muchas Gracias por tu apoyo, lo reviso y te coment...Muchas Gracias por tu apoyo, lo reviso y te comento como me fue.<br /><br />Saludos.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-35359669391329215922013-08-26T10:20:25.237+02:002013-08-26T10:20:25.237+02:00Hola,
lo primero que deberías hacer es restringir...Hola, <br />lo primero que deberías hacer es restringir con el método Intersect <a href="http://excelforo.blogspot.com.es/2011/06/vba-el-metodo-intersect.html" rel="nofollow">http://excelforo.blogspot.com.es/2011/06/vba-el-metodo-intersect.html</a><br />El código para el color sería (a incluir igualmente en la Hoja dentro del editor de VB):<br />Private Sub worksheet_selectionchange(ByVal target As Range)<br />Static celdaanterior As Range<br /><br />If Not celdaanterior Is Nothing Then<br /> celdaanterior.Interior.ColorIndex = xlColorIndexNone<br /> Rows(celdaanterior.Row).UseStandardHeight = True<br />End If<br />Set celda = Cells(9, ActiveCell.Row - 12)<br /><br />celda.Interior.Color = 65535<br />Rows(celda.Row).RowHeight = 27<br />Set celdaanterior = celda.EntireRow<br />End Sub<br /><br />Espero te sirva.<br />SldsExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-52451570442117223902013-08-26T02:31:15.069+02:002013-08-26T02:31:15.069+02:00Hola,
me parece muy elegante el código utilizado ...Hola, <br />me parece muy elegante el código utilizado en esta función.<br />Me pregunto si me puedes ayudar, lo que estoy intentando es algo parecido a lo que nos enseñaste, me explico:<br /><br />Lo que busco es que si la celda activa es la celda A13 se cambie el color, (verde por ejemplo), de la celda A9 y si ahora la celda activa es la celda A14, se cambie el color de la celda B9 y la celda A9 no tenga ningún color, así sucesivamente hasta la celda A24 y L9, pero mientras no se seleccione ninguna de este rango de celdas (A13 a A24), no pase nada, que el rango A9 a L9 no tenga color alguno.<br /><br />Espero me puedas ayudar y sobre todo haber explicado bien el proceso que necesito, de antemano agradezco mucho el apoyo que nos brindas.<br />Saludos.<br />Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-10458130831430229062013-08-06T14:04:07.147+02:002013-08-06T14:04:07.147+02:00Hola, que tal estás?
espero te encuentres bien.
Te...Hola, que tal estás?<br />espero te encuentres bien.<br />Ten presente que el formato condicional no es un formato al uso, y por tanto no responde a las mismas propiedades que una celda 'pintada' normal.<br />Lo que puedes conseguir saber es cuál es el color de fondo de la celda asignada en el formato condicional, pero no el que muestra en el momento actual.<br />Por ejemplo, imagina la celda A2 con formato condicional y un color de fondo configurado, con<br /><b>Range("A2").FormatConditions(1).interior.colorindex</b><br />obtendrías ese valor/color (repito no el mostrado).<br />Siempre salvo mejor opinión.<br />Slds cordialesExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-17402519728548403272013-08-06T00:56:00.402+02:002013-08-06T00:56:00.402+02:00Dónde puedo colocar una duda sobre una macro que d...Dónde puedo colocar una duda sobre una macro que detecta el color de la celda, <br />tengo una duda ya que si pinto el fondo de color una condicion (usando el formato condicional) y despues mediante una macro trato de detectar el color, detecta la celda como NO PINTADA, como puedo solucionar esto?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-51415212859590699032013-02-16T04:36:30.871+01:002013-02-16T04:36:30.871+01:00gracias compañero estuvo bien la solucion gracias compañero estuvo bien la solucion Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-72961326649777671432013-01-08T17:27:57.227+01:002013-01-08T17:27:57.227+01:00Hola de nuevo, espero sigas bien.
Quizá deberías l...Hola de nuevo, espero sigas bien.<br />Quizá deberías leer antes las Normas de uso del blog.<br />http://excelforo.blogspot.com.es/p/normas-de-uso.html<br />Gracias y un saludoExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-37095510421572677892013-01-08T13:34:49.744+01:002013-01-08T13:34:49.744+01:00Sip ya se esa parte. Lo que quiero es el codigo co...Sip ya se esa parte. Lo que quiero es el codigo como seria cual es la sintaxis o comando que se usaria? en base a este codigo<br /><br />Private sub worksheet_selectionchange(ByVal target As Range)<br />Static celdaanterior As Range<br />If Not celdaanterior Is Nothing Then<br />celdaanterior.Interior.ColorIndex = xlColorIndexNone<br />Rows(celdaanterior.Row).UseStandardHeight = True<br />End If<br />ActiveCell.Interior.Color = 65535<br />Rows(ActiveCell.Row).RowHeight = 27<br />Set celdaanterior = Target.EntireRow<br />End subAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-5335665997790703482013-01-08T09:53:35.958+01:002013-01-08T09:53:35.958+01:00Hola, buenos días!!
Espero te encuentres bien.
Si...Hola, buenos días!!<br />Espero te encuentres bien.<br /><br />Si deseas mantener el color original de la celda, deberás generar una variable que identifique el color de la celda seleccionada, para antes de salir del procedimiento volver a colorear el fondo asignándole la variable color original.<br /><br />Espero te haya orientado<br />Un cordial saludoExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-27666061185983815702013-01-07T22:25:20.654+01:002013-01-07T22:25:20.654+01:00estoy usando el codigo de la celda activa funciona...estoy usando el codigo de la celda activa funciona bien. pero tengo celdas de colores y al salirme de la celda me la vuelve blanca como puedo manterner el color original de la celda.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-23292574317347566742012-03-11T12:41:46.627+01:002012-03-11T12:41:46.627+01:00Gracias
Por cierto:
¡¡¡EXCELENTE BLOG!!!
:)
uN ABR...Gracias<br />Por cierto:<br />¡¡¡EXCELENTE BLOG!!!<br />:)<br />uN ABRAZOJavier Lopez Enamoradohttps://www.blogger.com/profile/11784556455377742608noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-70439710989899310512012-03-08T08:13:07.266+01:002012-03-08T08:13:07.266+01:00Hola Javier...
por desgracia, por mucha protección...Hola Javier...<br />por desgracia, por mucha protección que demos a nuestros libros, hojas o VBA, siempre existirá un código que lo descubra.<br />Yo al menos he visto por la web diferentes formas de hacerlo.<br />SldsExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-66809392468753881032012-03-08T08:11:23.957+01:002012-03-08T08:11:23.957+01:00Gracias por la aclaración, y por la dirección dond...Gracias por la aclaración, y por la dirección donde obtener ese complemento.<br />SldsExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-831391953393808302012-03-07T22:27:33.364+01:002012-03-07T22:27:33.364+01:00Hola, no se si este es el foro adecuado, si no lo ...Hola, no se si este es el foro adecuado, si no lo es, disculpas de antemano:<br /><br />¿Es posible proteger libro, hoja y código sin que le pasen los lammers por encima (que no hackers, contra esos no hay nada :P)?Javier Lopez Enamoradohttps://www.blogger.com/profile/11784556455377742608noreply@blogger.com