2

У меня есть большая таблица - с небольшим количеством цветного и жирного шрифта и т.д.

Часто трудно увидеть курсор - то есть найти ячейку, которая выбрана. Это просто выглядит как немного более толстая зеленая линия вокруг клетки.

Можно ли сделать курсор в ячейке более заметным, например, мигать? Эта функция присутствует практически во всех текстовых приложениях: курсор представляет собой мигающую линию или прямоугольник. Но не в электронных таблицах! или, по крайней мере, я не знаю ни одной программы для работы с электронными таблицами, имеющей такую функцию. Есть ли очевидная причина, почему нет, или я упускаю какой-то другой очевидный способ сделать выбранную ячейку легко видимой?

4 ответа4

3

я упускаю какой-то другой очевидный способ сделать выбранную ячейку легко видимой?

Хорошо, когда вы не печатаете активно в ячейке (или в строке формул), в поле «Имя» (слева от экрана, слева от панели формул и чуть ниже ленты) отображаются координаты текущая ячейка:

          Рабочий лист Excel с выделенным полем «Имя», заголовком столбца и меткой строки

(Если у вас выбрано несколько ячеек и / или несколько регионов, отображается верхний левый угол самой последней выбранной вами области.)

Также (как также показано выше) подсвечиваются заголовок (и) столбца и метка (и) строки, соответствующая активной ячейке (ям).

Кроме того, я обнаружил, что нажатие клавиш со стрелками направления (, , и ) для перемещения активной ячейки помогает выделить ее среди беспорядка.  Конечно, вы не должны этого делать, если у вас выбрано несколько ячеек и / или несколько регионов, так как это уничтожит этот выбор и оставит вас с выбранной одной ячейкой.  (Но Shift+стрелка направления расширит или уменьшит выделение, а не уничтожит его.)

Вот другой подход.  Это немного тяжеловато, но это может быть именно то, что вам нужно, если ваша таблица настолько перегружена, что у вас возникают проблемы с просмотром деревьев в лесу. На вкладке «Главная» на ленте, панели «Ячейки», нажмите «Вставить» и выберите «Вставить строки листа» или «Вставить столбцы листа».

          Меню «Вставить»

Они вставят пустую строку (строки) над выбранной в данный момент строкой (или вставят пустой столбец (столбцы) слева от выбранного в данный момент столбца (столбцов) соответственно).  Количество вставленных строк (или столбцов) равно количеству выбранных строк (или столбцов).  Новая область будет пустой (т. Е. Ячейки будут иметь пустое содержимое), хотя они будут наследовать форматирование ячеек над (или слева) выбранными ячейками.

Это может создать эффект, который визуально более драматичен, чем другие предложения.  Конечно, эти команды изменяют электронную таблицу, поэтому вы должны немедленно следовать за ними с помощью «Отменить» или с помощью дополнительной функции «Удалить».

«Вставить ячейки ...» также будет работать, но не так хорошо.

Все эти активные решения (клавиши со стрелками направления и «Вставить») будут прокручивать рабочий лист, чтобы при необходимости отобразить текущую ячейку.

2

Скотт предложил хороший список.

Позвольте мне предложить несколько других способов:

Вы можете нажать Ctrl+C, чтобы скопировать активные ячейки.  Вокруг ячейки (я) появится мигающая граница.  (Иногда происходит сбой, если есть несколько вариантов выбора.)  Вы можете нажать Esc, чтобы остановить мигание.

Вы можете нажать Shift+пробел, чтобы выбрать строку (и), соответствующую последнему выбору, или Ctrl+пробел, чтобы выбрать соответствующий столбец (столбцы).  К сожалению, если у вас выбран регион, это приводит к тому, что сам выбор теряется.  Например, если у вас выделен регион F17:H42 и вы нажали Shift+пробел, вы получите строки 17:42 .  Одна из исходных угловых ячеек (F17 , H17 , F42 или H42) может быть выделена, но, как правило, у вас нет возможности узнать обе границы столбцов исходного выделения (F и H).

Вы можете нажать Ctrl+Backspace, чтобы показать активную (последнюю выбранную) ячейку.  Если вы прокрутите активную ячейку, нажатие Ctrl+Backspace вернет ее обратно в представление.

1

Вот еще одна идея, вдохновленная ответом Леонардо Алвеса Мачадо.  Создайте эти подпрограммы VBA («макросы»):

Sub Flash()
'
' Flash Macro
'
    Call toggle
    Application.OnTime Now + TimeValue("00:00:01"), "toggle"
'
End Sub

Sub toggle()
'
    For Each cell In Selection
        tmp = cell.Interior.Color
        ' Things can be explicitly colored white ((255,255,255) = (FF,FF,FF) = &HFFFFFF),
        ' but white things are often actually uncolored.  Check whether this cell actually
        ' has no color and no pattern, and, if so, set a fake just-barely-off-white color
        ' that serves as a flag.
        If tmp = &HFFFFFF And cell.Interior.ColorIndex = xlNone _
                                                And cell.Interior.Pattern = xlNone Then
            tmp = &HFFFFFE      ' &HFFFFFF = pure white; &HFFFFFE = (pure white) - 1
        End If
        Red = tmp Mod 256
        tmp = tmp \ 256
        Grn = tmp Mod 256
        tmp = tmp \ 256
        Blu = tmp Mod 256
        ' Change to a different color (through a reversable process).
        Red = (Red + 128) Mod 256
        Grn = (Grn + 128) Mod 256
        Blu = (Blu + 128) Mod 256
        tmp = RGB(Red, Grn, Blu)
        ' If we're being called for the second time, the above reconstructs the original
        ' color.  If the reconstructed color is &HFFFFFE, that (probably) means that
        ' the cell was originally uncolored, in which case we restore it to that state.
        ' Otherwise, just restore the color.
        If tmp = &HFFFFFE Then
            cell.Interior.Pattern = xlNone
        Else
            cell.Interior.Color = tmp
        End If
    Next
End Sub

Теперь, когда вы запустите процедуру Flash , она вызовет toggle , который изменяет цвет заливки (внутреннего) всех ячеек выделения на что-то радикально другое.  (Если вы можете улучшить этот алгоритм изменения цвета, пожалуйста, сообщите нам, что вы придумали.)  Затем он планирует toggle для повторного вызова через секунду; это восстановит исходные цвета и произведет эффект мигания.

Если вы хотите мигать более одного раза, просто измените вызывающий макрос на что-то вроде

    Call toggle
    Application.OnTime Now + TimeValue("00:00:01"), "toggle"
    Application.OnTime Now + TimeValue("00:00:02"), "toggle"
    Application.OnTime Now + TimeValue("00:00:03"), "toggle"
    Application.OnTime Now + TimeValue("00:00:04"), "toggle"
    Application.OnTime Now + TimeValue("00:00:05"), "toggle"

Изменение toggle для работы со всем текущим столбцом и / или строкой является простым и оставлено в качестве упражнения.

Код немного сложнее, чем должен быть.  Я попытался объяснить, почему в комментариях, но я пропустил обоснование, которое заключается в том, что, когда в ячейке Excel задано «заполнение», даже если оно сплошное белое, линии границ исчезают.  Вы можете убедиться в этом сами, установив в ячейке B2 заливку сплошным белым цветом:

    ячейка со сплошной белой заливкой без границ (или невидимых)

До того, как я добавил специальный случай, когда я запускал код Flash в неокрашенной ячейке (формат по умолчанию), первый вызов toggle изменил его на сплошной серый (127,127,127), а второй вызов изменил его «назад» на сплошной белый - что, Конечно, это было не то, что было раньше, и это привело к исчезновению границ.

Если вы переместите курсор до завершения мигающей последовательности, toggle изменит цвет (ы) исходного выделения, а затем нового (измененного) выделения.  Таким образом, эти изменения не отменят друг друга (как они должны), и поэтому у вас будет группа ячеек с измененными цветами.  Так что не делай этого.

-1

Я верю, что есть способ. Я нашел этот блог, который учит, как это сделать. В основном это говорит:

  1. Выберите ячейку, которую вы хотите включить и выключить.
  2. Выберите Стиль в меню Формат. Excel отображает диалоговое окно Стиль.
  3. В поле «Имя стиля» введите новое имя стиля. (Для этого примера используйте имя стиля Flashing.)
  4. Используя элементы управления в диалоговом окне, измените любые атрибуты стиля по своему усмотрению.
  5. Нажмите на ОК.

Теперь вы можете применить этот стиль к любым другим ячейкам в своей рабочей книге. Теперь создайте макросы (их два) следующим образом:

Dim NextTime As Date

Sub StartFlash()
    NextTime = Now + TimeValue("00:00:01")
    With ActiveWorkbook.Styles("Flashing").Font
        If .ColorIndex = xlAutomatic Then .ColorIndex = 3
        .ColorIndex = 5 - .ColorIndex
    End With
    Application.OnTime NextTime, "StartFlash"
End Sub

Sub StopFlash()
    Application.OnTime NextTime, "StartFlash", schedule:=False
    ActiveWorkbook.Styles("Flashing").Font.ColorIndex = xlAutomatic
End Sub

Чтобы начать мигать, просто запустите StartFlash. Ячейки, отформатированные в стиле «Мигающий», будут чередоваться между красным и белым текстом примерно раз в секунду. Если вы хотите отключить мигание, просто запустите макрос StopFlash.

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