Cómo mantener el texto seleccionado resaltado cuando el foco cambia en Microsoft Word / Excel

49

Relacionado con esta pregunta: Mostrar selección de celda en Excel cuando no está enfocado, excepto que mi caso se refiere a Microsoft Word.

Cuando selecciono texto o una columna / fila en Microsoft Word o Excel (2003, 2007, 2010 o 2013) aparece resaltado de esta manera en Word:

ingrese la descripción de la imagen aquí

y Excel:

ingrese la descripción de la imagen aquí

Sin embargo, cuando cambio el foco a otro programa, el texto resaltado ya no está resaltado.

Generalmente trabajo con 2 monitores, donde un monitor contiene un documento / hoja de cálculo que contiene datos que necesito leer, y el otro monitor es donde realmente estoy trabajando. Seleccionaré algún texto (o celdas) para que se destaque entre las muchas páginas de datos, y luego cambie de programa, pero el texto resaltado ya no es visible.

¿Hay una solución permanente a este problema?

glenneroo
fuente
@CGTheLegend: Las soluciones alternativas ofrecidas cuestan dinero o son macros temporales que AFAIK no funcionan en varios archivos.
glenneroo

Respuestas:

23

Una forma rápida de solucionar la mitad de su problema (al cambiar de Excel a Word) es copiar el texto. Cuando presiona Ctrl + c, las celdas continuarán estando marcadas (el resaltado desaparece, pero aún tiene una línea de puntos alrededor del texto).

Una desventaja de esto es que el texto solo está marcado, siempre que mantenga las celdas copiadas. Lo que significa que no puede copiar nada más o la marca se ha ido. Lamentablemente, esto no funcionará de Word a Excel.

Rubaijat
fuente
14

Esto parece ser una exclusiva "característica" de Microsoft. Para la mayoría de los proyectos solo necesito acceso de solo lectura y el formato no importa en mi caso, por lo tanto, he cambiado a OpenOffice que no muestra este comportamiento.

glenneroo
fuente
3
No creo que esta respuesta merezca la mejor solución. Solo usar una aplicación diferente no es exactamente la mejor solución para todos.
CGTheLegend
Me gusta esta solución ya que MS no eliminó este error desde hace 100 años
Hartmut P.
Personalmente, he experimentado que LibreOffice es más compatible.
Damian Vogel
6

No hay una solución permanente a este problema.

una solución alternativa (puede ser molesto en un momento) sería cambiar el resaltado de las celdas seleccionadas mientras están seleccionadas y volver a seleccionarlas nuevamente para eliminar el color.

Pegue este código en el código Sheet1 detrás y vaya a su hoja de cálculo y seleccione algunas celdas, seleccione otras y luego vuelva a seleccionar las primeras para soltar el color

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim cell As Range

    For Each cell In Target.Cells
        If cell.Interior.Color = RGB(60, 150, 230) Then
            cell.Interior.Pattern = xlNone
        Else
            cell.Interior.Color = RGB(60, 150, 230)
        End If
    Next
End Sub

fuente
@DaveRook, la idea de cambiar el color de fondo en el evento SelectionChange o Activate debería funcionar tanto para Excel como para Word.
6

Este VBa lo hará, pero supone que NO está utilizando el resaltado. Si es así, su resaltado se desordenará, así que no lo use.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ActiveCell.Worksheet.Cells.Interior.ColorIndex = xlNone
    ActiveCell.EntireRow.Interior.ColorIndex = 19
End Sub

¿Cómo agrego VBA en MS Office?


Como una solución masiva (si el resaltado no funciona para usted), podría usar algo como JRuler (¡escúchame :)! ) ya que esto le permitirá dejar la regla en la pantalla con la fila en cuestión encima para que cuando sus ojos regresen a esa pantalla pueda ver dónde estaba (para que pueda ver, perdí mi resaltado pero al menos puedo ver que estaba mirando la fila 3)!

No me malinterpreten, esto es laborioso y doloroso si lo está haciendo mucho, pero puede ser suficiente para cualquier programa (Word y Excel).

ingrese la descripción de la imagen aquí

Dave
fuente
4

Después de diez años de este problema volviéndome loco, finalmente encontré una solución que funciona para mí. Lamentablemente no es gratis ... Actual Window Managertiene una función llamada "Ignorar desactivación" que se puede habilitar para aplicaciones específicas. Esto hace que la ventana piense que todavía tiene foco, incluso cuando no lo tiene. Tengo esto activado para todas las aplicaciones de Office y ahora todavía puedo ver la selección resaltada incluso cuando otra ventana tiene el foco. Tampoco he tenido ningún efecto secundario negativo. También uso múltiples monitores y este programa tiene muchas otras herramientas útiles para trabajar con múltiples monitores, lo que hizo que valiera la pena. Instalé la versión de prueba y luego la desinstalé y me ofreció un 30% de descuento. Puede haber un programa gratuito que haga esto, pero no pude encontrar uno ... ¡Espero que esto ayude a alguien tanto como a mí!

bskip
fuente
Lamentablemente, este método no funciona para Word 2010 y Windows 7
Eugene Mala
2

Estuve luchando con este mismo problema durante mucho tiempo. Yo también me pierdo en archivos densos de Excel cuando uso múltiples pantallas.

Hay una gran colección de complementos de Excel disponibles en Internet. Descubrí que la extensión Kutools Excel (la versión gratuita) tiene una cruz de resaltado de encendido / apagado con un clic que permanece visible incluso si Excel está desenfocado. Kutools también parece tener muchas características adicionales, pero ciertamente no es la única opción disponible.

Aquí hay una captura de pantalla de la cruz de Kutools en acción:

Captura de pantalla de Kutools resalta la cruz en acción

Sé que algunas personas tienen miedo de los complementos o herramientas de terceros, pero usarlos es probablemente la opción más rápida y fácil.

hupiukko
fuente
0

Inserte un cuadro de texto que extienda la longitud de las celdas. Escriba una fila de ******* caracteres similares para llenar el cuadro de texto. Puede mover el cuadro de texto hacia abajo de la página como lo haría con una regla o una hoja de papel en una copia impresa. Eliminar cuando haya terminado.

BAS
fuente
0

Una solución simple que coloca un color de celda cuando cambia la selección

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Selection.Interior.ColorIndex = xlColorIndexNone
    Selection.Interior.Color = RGB(204, 204, 204)
End Sub


Una solución compleja que solo cambia el color de la celda cuando se pierde el foco

En un módulo estándar:

Option Explicit    
Public s As Range

En la (s) hoja (s) en la que desea que funcione:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Set s = Selection
End Sub

En ThisWorkbook:

Private Sub Workbook_Deactivate()
    If s Is Nothing Then
        Set s = Selection
        Exit Sub
    End If
    s.Interior.ColorIndex = xlColorIndexNone
    s.Interior.Color = RGB(204, 204, 204)

    ' This is optional formatting to make the cells look more like they're actually selected
    s.Borders.Color = RGB(130, 130, 130)
    s.BorderAround _
    Color:=RGB(30, 130, 37), Weight:=xlThick
End Sub

Private Sub Workbook_Activate()
    If s Is Nothing Then
        Set s = Selection
        Exit Sub
    End If
    s.Interior.ColorIndex = xlColorIndexNone
    s.Borders.ColorIndex = xlColorIndexNone
End Sub


Citas: la solución simple se basa en una respuesta de @Dave ; La solución compleja se reunió de muchas fuentes, especialmente con la ayuda de @JohnColeman en esta publicación .

Travis Heeter
fuente
0

Una forma muy simple de hacerlo es con formato condicional y VBA.

Simplemente agregue esto a su código de ThisWorkbook:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    If Application.CutCopyMode = False Then
        Application.Calculate
    End If
End Sub

y ejecute el siguiente código solo una vez , para crear las reglas de formato condicional:

Sub CreateConditionalFormats()
  Dim y As FormatCondition
    For Each ws In ThisWorkbook.Worksheets
        DoEvents

        'Optionally delete any existing conditional formats
        'ws.Cells.FormatConditions.Delete

        ' Selection highlight
        Set y = ws.Cells.FormatConditions.Add(Type:=xlExpression, Formula1:="=AND(ROW()=CELL(""row""), COLUMN()=CELL(""col""))")
        With y.Borders(xlTop)
            .LineStyle = xlSolid
            .Color = -16776961
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With y.Borders(xlBottom)
            .LineStyle = xlSolid
            .Color = -16776961
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With y.Borders(xlLeft)
            .LineStyle = xlSolid
            .Color = -16776961
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With y.Borders(xlRight)
            .LineStyle = xlSolid
            .Color = -16776961
            .TintAndShade = 0
            .Weight = xlThin
        End With
        y.StopIfTrue = False
        y.SetFirstPriority

        ' Row highlight
        Set y = ws.Cells.FormatConditions.Add(Type:=xlExpression, Formula1:="=ROW()=CELL(""row"")")
        With y.Borders(xlTop)
            .LineStyle = xlDash
            .Color = -16776961
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With y.Borders(xlBottom)
            .LineStyle = xlDash
            .Color = -16776961
            .TintAndShade = 0
            .Weight = xlThin
        End With
        y.StopIfTrue = False

        ' Column highlight
        Set y = ws.Cells.FormatConditions.Add(Type:=xlExpression, Formula1:="=COLUMN()=CELL(""col"")")
        With y.Borders(xlLeft)
            .LineStyle = xlDash
            .Color = -16776961
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With y.Borders(xlRight)
            .LineStyle = xlDash
            .Color = -16776961
            .TintAndShade = 0
            .Weight = xlThin
        End With
        y.StopIfTrue = False
    Next
End Sub
cyberponk
fuente
0

El uso de insertar forma / rectángulo es una solución simple. Seleccione la opción "Sin relleno" e incluso puede editar celdas a través de él.

Echa un vistazo a la imagen aquí:

Mira la foto aquí

IvanStanic
fuente