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.