** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - Resaltar la fila y columna de la celda activa
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Resaltar la fila y columna de la celda activa

 Responder Responder
Autor
Mensaje
Ignigo Ver desplegable
Nuevo
Nuevo


Unido: 09/Septiembre/2019
Localización: España
Estado: Sin conexión
Puntos: 17
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Ignigo Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Resaltar la fila y columna de la celda activa
    Enviado: 27/Septiembre/2019 a las 23:28
Buenas noches,

Precisaría la ayuda en este ejemplo de otro foro, donde necesitaría mantener el color de los encabezados y algunas columnas que tienen colores.

Al activar la celda también se cambian los colores del encabezado.

Modulo:

Public celdaActiva(1) As Range

ThisWorkbook:

Private Sub Workbook_Open()
    Set celdaActiva(1) = ActiveCell
    ActiveCell.EntireRow.Interior.Color = RGB(255, 145, 145)
    ActiveCell.EntireColumn.Interior.Color = RGB(255, 145, 145)
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Set celdaActiva(1) = ActiveCell
    ActiveCell.EntireRow.Interior.Color = RGB(255, 145, 145)
    ActiveCell.EntireColumn.Interior.Color = RGB(255, 145, 145)
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Set celdaActiva(0) = celdaActiva(1)
    Set celdaActiva(1) = Target
    
    On Error Resume Next
    celdaActiva(0).EntireRow.Interior.Color = xlNone
    celdaActiva(0).EntireColumn.Interior.Color = xlNone
    Target.EntireRow.Interior.Color = RGB(255, 145, 145)
    Target.EntireColumn.Interior.Color = RGB(255, 145, 145)
End Sub


Gracias por anticipado.

Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5488
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita AnSanVal Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 30/Septiembre/2019 a las 23:30
He leído varias veces la consulta y sigo sin entender... ¿Cuál es la duda?

Aprendemos viendo respuestas de otros, también intentando resolver dudas (intenta ayudar cuando puedas/sepas).

Mi sitio_web con ejemplos Excel.
Arriba
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: Binghamton
Estado: Sin conexión
Puntos: 3418
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita lbauluz Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 02/Octubre/2019 a las 03:30
Si no entiendo mal:

Lo que tienes ahora mismo es que te sale una especie de cruz en color rojo, marcando toda la fila y toda la columna donde está el foco.

Lo que quieres es que si alguna de las celdas de esa fila / columna tiene colores que no lo ponga en rojo sino que mantenga su color.

O incluso, que se ponga en rojo, pero al perder el foco que no se ponga en blanco sino en los colores que tenía.

¿Es eso?

Un saludo.

Luis.



Editado por lbauluz - 02/Octubre/2019 a las 03:33
Estos son mis principios. Si no le gustan... tengo otros
Arriba
Ignigo Ver desplegable
Nuevo
Nuevo


Unido: 09/Septiembre/2019
Localización: España
Estado: Sin conexión
Puntos: 17
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Ignigo Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 02/Octubre/2019 a las 23:31
Buenas noches;

Así es.

¿Se puede hacer?

Saludos,
Arriba
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: Binghamton
Estado: Sin conexión
Puntos: 3418
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita lbauluz Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 03/Octubre/2019 a las 01:12
Así a ojo, lo que deberías hacer es tener un objeto RANGE, 
Al seleccionar una fila, copiar el contenido al entrar, antes de cambiar el color
Cambias el color para que se vea como quieres como hasta ahora
Al salir, en lugar de poner deberás pegar el formato que tenías en la variable RANGE en lugar de 

  celdaActiva(0).EntireRow.Interior.Color = xlNone
    celdaActiva(0).EntireColumn.Interior.Color = xlNone

Que lo que hace es exactamente quitar el color

Un saludo.

Luis


Estos son mis principios. Si no le gustan... tengo otros
Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5488
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita AnSanVal Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 03/Octubre/2019 a las 11:38
Sin conocer donde están y como son tus datos y formatos... la respuesta ya te la ha dado Luís, pero te sugiero que no trabajes con filas completas ni columnas completas.
Aprendemos viendo respuestas de otros, también intentando resolver dudas (intenta ayudar cuando puedas/sepas).

Mi sitio_web con ejemplos Excel.
Arriba
Gladiador Ver desplegable
Habitual
Habitual
Avatar

Unido: 22/Junio/2006
Localización: Venezuela
Estado: Sin conexión
Puntos: 150
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Gladiador Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 08/Octubre/2019 a las 16:44
Hola chicos

Siempre he venido al foro a preguntar. Esta vez me voy a tomar la libertad de hacer una contribución, pues he tenido la misma inquietud. 

Resaltar, la fila en la cual me encuentro

Para eso, he nombrado una celda (Digamos la celda A1) con el nombre MiFila

Luego en el editor de VBA he creado la siguiente instrucción, para la hoja en cuestión

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[MiFila] = Target.Row
End Sub

Esto hace que el valor de la celda, que he llamado MiFila, sea el número de la fila sobre la cual me encuentro

Luego, voy a Formato Condicional y uso la opción "Utilice una fórmula que determine las celdas para aplicar formato"

Luego inserto la siguiente instrucción:

=FILA(A1)=MiFila

y aplico el formato que deseo. En mi caso utilicé, poner borde inferior color rojo a la fila.

Le doy aceptar y luego defino el rango sobre el cual deseo aplicar el formato.
En mi caso seleccioné el rango A5:X1000, que es donde tengo los datos que me interesan

Dos puntos a recordar.
1.- Se debe tener cuidado en insertar los "corchetes" en la instrucción
[MiFila] = Target.Row
2.- El libro debe ser guardado como "Libro de Excel habilitado para macros"

Imagino que el mismo procedimiento aplica para resaltar la columna

Espero haber sido de ayuda

Gladiador
Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5488
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita AnSanVal Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 08/Octubre/2019 a las 22:49
Gladiador; he probado tu aporte, ¡Funciona! y me gusta la sencillez del mismo.

Gracias.


La única pega a tener en cuenta es que si el rango a formatear es demasiado grande (seguimos sin saberlo)... va a estar lleno de formato condicional además de formato ordinario y el exceso de formatos suele acarrear problemas a la larga Confused, pero... cada uno es dueño de hacer de su capa un sayo. 


Aprendemos viendo respuestas de otros, también intentando resolver dudas (intenta ayudar cuando puedas/sepas).

Mi sitio_web con ejemplos Excel.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable