Microsoft Word / Excel에서 포커스가 변경 될 때 선택된 텍스트를 강조 표시하는 방법


49

이 질문과 관련하여 : 내 경우가 Microsoft Word와 관련된 것을 제외하고 초점이 맞지 않을 때 Excel에서 셀 선택을 표시 하십시오.

Microsoft Word 또는 Excel (2003, 2007, 2010 또는 2013)에서 텍스트 또는 열 / 행을 선택하면 Word에서 다음과 같이 강조 표시됩니다.

여기에 이미지 설명을 입력하십시오

그리고 엑셀 :

여기에 이미지 설명을 입력하십시오

그러나 다른 프로그램으로 포커스를 변경하면 강조 표시된 텍스트가 더 이상 강조 표시되지 않습니다.

나는 일반적으로 두 대의 모니터를 사용하는데, 하나의 모니터에는 읽어야 할 데이터가 들어있는 문서 / 스프레드 시트가 있고 다른 모니터는 실제로 작업중인 곳입니다. 여러 페이지의 데이터 중에서 눈에 띄도록 텍스트 (또는 셀)를 선택한 다음 프로그램을 전환하지만 강조 표시된 텍스트는 더 이상 표시되지 않습니다.

이 문제에 대한 영구적 인 해결책이 있습니까?


@CGTheLegend : 대체 솔루션은 비용이 들었거나 AFAIK가 여러 파일에서 작동하지 않는 임시 매크로입니다.
— glenneroo

답변:


23

Excel에서 Word로 전환 할 때 문제의 절반을 해결하는 빠른 방법은 텍스트를 복사하는 것입니다. Ctrl + c를 누르면 셀이 계속 표시됩니다 (높은 ligthing은 사라지지만 여전히 텍스트 주위에 점선이 나타납니다).

이것의 단점은, 복사 한 셀을 잡고있는 한 텍스트 만 표시된다는 것입니다. 다른 것을 복사 할 수 없거나 표시가 사라 졌다는 의미입니다. 불행히도 이것은 Word에서 Excel로 작동하지 않습니다.


14

이것은 독점적 인 Microsoft "기능"인 것 같습니다. 대부분의 프로젝트의 경우 읽기 전용 액세스 만 필요하며 서식은 중요하지 않으므로 OpenOffice로 전환했는데이 동작이 나타나지 않습니다.


3
이 답변이 최선의 해결책이라고 생각하지 않습니다. 다른 애플리케이션을 사용하는 것이 모든 사람에게 최고의 솔루션은 아닙니다.
— CGTheLegend

MS 이후이 솔루션처럼 나는 백년 이후이 버그를 제거하지 않았
— 하르트 무트 P.에게

개인적으로 LibreOffice의 호환성이 향상되었습니다.
— Damian Vogel

6

이 문제에 대한 영구적 인 해결책 은 없습니다 .

해결 방법 (잠시 동안의 성가신받을 수 있습니다) 그들이 선택하고 색상을 드롭 다시 재 - 선택하는 동안 선택된 셀의 강조 표시를 변경하는 것입니다.

이 코드를 Sheet1 코드 뒤에 넣고 스프레드 시트로 이동하여 일부 셀을 선택하고 다른 셀을 선택한 다음 첫 번째 코드를 다시 선택하여 색상을 삭제하십시오

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

@DaveRook SelectionChange 또는 Activate 이벤트에서 배경색을 변경한다는 아이디어는 Excel과 Word 모두에서 작동합니다.

6

이 VBa는 그렇게하지만 높은 조명을 사용하지 않는다고 가정합니다. 그렇다면 강조 표시가 엉망이되어 사용하지 마십시오.

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

MS Office에서 VBA를 어떻게 추가합니까?


대규모 작업으로 (강조 표시가 효과가 없다면) JRuler와 같은 것을 사용할 수 있습니다. ) 이렇게하면 문제의 행이있는 눈금자를 화면에 그대로 둘 수 있으므로 눈이 해당 화면으로 돌아 오면 현재 위치를 볼 수 있습니다 (그래서 볼 수 있습니다. 3 행)을보고있었습니다!

나를 잘못 생각하지 마십시오.이 작업을 많이 수행하면 힘들고 고통 스럽지만 모든 프로그램 (Word 및 Excel)에는 충분할 수 있습니다.

여기에 이미지 설명을 입력하십시오


4

10 년 동안이 문제를 겪고 나에게도 견딜 수 없었습니다. 불행히도 그것은 무료가 아닙니다 ... 실제 창 관리자특정 앱에 대해 활성화 할 수있는 "비활성화 무시"기능이 있습니다. 이렇게하면 창에 초점이없는 경우에도 여전히 초점이 있다고 생각합니다. 모든 사무실 응용 프로그램에서이 기능을 사용하도록 설정했으며 다른 창에 포커스가 있어도 강조 표시된 선택 항목을 계속 볼 수 있습니다. 나는 부작용도 없었습니다. 또한 여러 대의 모니터를 사용하는데이 프로그램에는 여러 대의 모니터로 작업 할 때 유용한 도구가 많이 있습니다. 평가판을 설치 한 다음 제거했는데 30 % 할인되었습니다. 이 작업을 수행하는 무료 프로그램이있을 수 있지만 찾을 수없는 경우 ... 이것이 도움이 된만큼 누군가에게 도움이되기를 바랍니다.


불행히도이 방법은
— Eugene Mala

2

나는이 같은 문제로 오랫동안 고투하고 있었다. 여러 화면을 사용할 때 밀도가 높은 Excel 파일에서도 길을 잃습니다.

인터넷에는 다양한 Excel 플러그인 모음이 있습니다. Kutools Excel 확장 (무료 버전)에는 한 번의 클릭으로 강조 표시 십자선이 있으며 Excel의 초점이 맞지 않아도 볼 수 있습니다. Kutools는 또한 많은 추가 기능을 가지고있는 것처럼 보이지만 확실히 사용 가능한 유일한 옵션은 아닙니다.

Kutools 하이라이트 십자선의 스크린 샷은 다음과 같습니다.

Kutools 하이라이트 십자선의 스크린 샷

일부 사람들이 타사 플러그인이나 도구를 두려워한다는 것을 알고 있지만 사용하는 것이 가장 빠르고 쉬운 옵션 일 것입니다.


0

셀 길이를 늘이는 텍스트 상자를 삽입하십시오. 텍스트 상자를 채우려면 ******* 비슷한 문자 행을 입력하십시오. 하드 카피의 눈금자 또는 종이와 마찬가지로 텍스트 상자를 페이지 아래로 이동할 수 있습니다. 완료되면 삭제하십시오.


0

선택이 변경 될 때 셀 색상을 배치하는 간단한 솔루션

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


초점이 없어 질 때만 셀 색상을 변경 하는 복잡한 솔루션

표준 모듈에서 :

Option Explicit    
Public s As Range

시트에서 당신은 그것이 작동하기를 원합니다 :

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

에서 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


인용 : 간단한 해결책은 @Dave 의 답변 을 기반으로합니다 . 복잡한 솔루션은 특히이 게시물 의 @JohnColeman 의 도움을 받아 여러 출처에서 수집 되었습니다 .


0

이를 수행하는 매우 간단한 방법은 조건부 서식과 VBA를 사용하는 것입니다.

ThisWorkbook 코드에 이것을 추가하십시오.

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

조건부 서식 규칙을 만들려면 다음 코드를 한 번만 실행하십시오 .

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

0

삽입 모양 / 직사각형을 사용하는 것은 간단한 해결 방법입니다. "채우기 없음"옵션을 선택하면 셀을 편집 할 수도 있습니다.

여기 그림을보십시오 :

여기 그림을보세요

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.