Kursor i wybór niewidoczne po utracie ostrości

15

Gdy okno programu Excel traci fokus, kursor staje się niewidoczny. Również kolorowanie odpowiednich nagłówków kolumn / wierszy powraca do wartości domyślnych, więc nie można zlokalizować kursora i / lub zaznaczenia, gdy tylko przejdę do innego okna.

To mnie denerwuje, ponieważ sprawia, że ​​Excel jest prawie bezużyteczny do większości zadań, których potrzebuję:

  • śledzenie przypadków testowych podczas wykonywania testów w innym oknie

  • uzyskiwanie danych gdzie indziej i przenoszenie ich do Excela

(Nigdy nie widziałem takiego zachowania w innych aplikacjach i nie mogę nawet wymyślić uzasadnienia.)

Czy można wyłączyć to zachowanie, tzn. Zachować widoczność zaznaczenia, gdy nie jest on ostry?

Edycja: W przeciwieństwie do tego, co myślałem, kiedy pierwotnie to opublikowałem, nie jest to „nowa funkcja”, to raczej pragma interfejsu użytkownika, którą MS trzyma w większości swoich aplikacji (przynajmniej od pewnego czasu), chociaż aplikacje inne niż MS lub niektóre starsze aplikacje MS nie zawsze go szanują.

Alois Mahdal
źródło
1
Zgadzam się, ktoś, kto nie myśli o przypadkach użycia programu Excel, kiedy uczynił to zachowanie domyślne.
AnthonyVO

Odpowiedzi:

7

W tym poście opisano jedno obejście , które nie wymaga użycia VBA / makr:

Kopiowanie zawartości do schowka spowoduje umieszczenie przerywanej ramki wokół podświetlonych komórek, która pozostanie, gdy okna programu Excel przestaną być aktywne.

Podświetl dany wiersz, klikając numer wiersza po lewej stronie wiersza, a następnie kliknij Ctrl- C/ Cmd- C.

Rexford
źródło
Ładne, proste obejście.
101100
4

To normalne zachowanie w systemie Windows. To nie jest specyficzne dla Excela. To samo dzieje się, jeśli wybierzesz tekst w programie Word, a następnie zmienisz okna. Nie można tego wyłączyć.

Jeśli chcesz dodać makra do skoroszytu, istnieje obejście, aby podświetlić potrzebny wiersz, a następnie usuń go, gdy skończysz. Podświetlony wiersz pokaże, kiedy okno nie będzie aktywne.

Dodaj te fragmenty kodu w Eksploratorze VBA ( Alt+ F11) ThisWorkbooki możesz wywoływać je z makr ( Alt+ F8) lub dodawać do nich przyciski.

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

Poniżej znajduje się indeks kolorów, które można zmienić w kodzie. Obecnie ustawiony na żółty.

wprowadź opis zdjęcia tutaj

CharlieRB
źródło
Ciekawy pomysł. Musisz jednak zachować ostrożność, ponieważ spowoduje to utratę formatowania wypełnienia w aktywnym wierszu. Przydałoby się również powiązanie tego ze zdarzeniem arkusza roboczego - w innym przypadku sensowniejsza byłaby ręczna zmiana koloru wypełnienia za każdym razem, gdy trzeba śledzić aktywną komórkę w innym oknie.
Excellll,
2
„Jest to normalne zachowanie w systemie Windows. Nie jest specyficzne dla programu Excel”. Masz rację, że nie jest to specyficzne dla programu Excel - rzeczywiście Word zachowuje się tak samo, ale nie nazwałbym tego normalnym. Na przykład nie zachowuje się tak w Notatniku ani w większości programów, których używam (Notepad ++, PSPad, czytnik PDF Sumatra ). Zachowuje się tak w natywnych polach tekstowych, takich jak „Uruchom ...”. (Soo dziwne, że nigdy tego nie zauważyłem.)
Alois Mahdal
Wersja Excela OSX jest implementowana dokładnie w ten sam sposób, ograniczając jej użyteczność, jak wspomniano w PO.
rexford,
@CharlieRB Nie, to nie jest zachowanie systemu operacyjnego, a zachowanie w programie Excel jest inne niż w programie Word. Program Word używa pola tekstowego z kursorem, a kursor nie miga, jeśli okno traci fokus. W porządku, ponieważ mogę ręcznie oznaczyć tekst. W programie Excel jest to jednak zupełnie inne. Wykorzystuje własny mechanizm rysowania komórek i zaznacza specjalne pola w kolumnie i rzędzie (na żółtym tle). Jest to związane tylko z programem Excel i jest to głupie zachowanie. Zbyt często muszę kopiować / porównywać dane z innego okna i absolutnie nie ma żadnego oznaczenia ...
StanE