14

Когда окно Excel теряет фокус, курсор становится невидимым. Также цвет соответствующих заголовков столбцов / строк возвращается к значению по умолчанию, поэтому невозможно найти курсор и / или выделение, как только я переключаюсь в другое окно.

Это чертовски раздражает меня, так как делает Excel практически непригодным для большинства задач, для которых он мне нужен:

  • отслеживание тестовых случаев при выполнении тестирования в другом окне

  • получение данных в другом месте и перенос в Excel

(Я никогда не видел такого поведения в других приложениях и даже не могу придумать оправдания для этого.)

Возможно ли отключить это поведение, то есть сохранить видимость выделения, когда не в фокусе?

Редактировать: Вопреки тому, что я думал, когда первоначально опубликовал это, это не "новая функция", это скорее прагма пользовательского интерфейса, которой MS придерживается в большинстве своих приложений (по крайней мере, с некоторого момента времени), хотя приложения не MS или некоторые старые приложения MS не всегда уважают это.

2 ответа2

7

В этом посте описан один обходной путь, который не требует использования VBA/ макросов:

Копирование содержимого в буфер обмена поместит пунктирную рамку вокруг выделенных ячеек, которая останется, когда окна Excel потеряют фокус.

Выделите нужную строку, щелкнув номер строки слева от строки, затем нажмите Ctrl- C / Cmd- C.

4

Это нормальное поведение для Windows. Это не относится к Excel. То же самое происходит, если вы выбираете текст в Word, а затем меняете окна. Его нельзя отключить.

Если вы хотите добавить макросы в рабочую книгу, есть способ обойти нужную строку, а затем удалите ее, когда закончите. Выделенная строка будет отображаться, когда окно не имеет фокуса.

Добавьте эти фрагменты кода в VBA Explorer (Alt+F11) в ThisWorkbook и вы можете либо вызвать их из макросов (Alt+F8), либо добавить для них кнопки.

Sub RowHighlight()
  Rows(ActiveCell.Row).Select
  With Selection.Interior
    .Pattern = xlSolid
    .ColorIndex = 6  'Change this number to the color of choice.
  End With
End Sub

Sub RemHighlight()
  Rows(ActiveCell.Row).Select
  With Selection.Interior
    .Pattern = xlNone
  End With
End Sub

Ниже приведен индекс цветов, которые вы можете изменить в коде. В настоящее время установлен желтый.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .