Как отформатировать ячейку в Excel для отображения значений из активного столбца?

Как отформатировать ячейку в Excel для отображения значений из активного столбца?

Мне было интересно, как отформатировать ячейку, чтобы отобразить значение другой ячейки в текущем используемом столбце. Форматируемая ячейка будет отделена от активного столбца.

решение1

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

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Not Intersect(Target, Range("C:E")) Is Nothing Then
    Cancel = True

    If Application.CountIf(Sheets("Sheet1").Range("B:B"), Target.Value) = 0 Then
        Cells(Target.Row, 2).Value = Target.Value
        Cells(Target.Row, 2).Font.color = Target.Font.color
    End If
End If

End Sub

Как это работает:

  • НажиматьАльт+Ф11чтобы открыть редактор VB.
  • Копировать&Вставитьэтот код с листом ( В этом примере кода Sheet is 1вы можете изменить имя листа по своему усмотрению.), как стандартный модуль.
  • Как только вы дважды щелкните любую ячейку в столбцах C to E, этот код перенесет Copy ее значение вместе со Font colorзначением в соседнюю ячейку Column B.

Примечание.

  • Исходные столбцы Cможно Eредактировать.
  • В Cells(Target.Row, 2)столбце 2указывается B, и его также можно редактировать.
  • Вы можете использовать Target.Interior.Colorдля копирования Background color.

решение2

Насколько я понял из вашего вопроса, например, вам нужна ячейкаЕ5отобразить значение ячейкиД4. Так что поместите эту формулу в ячейкуЕ5:

=D4

Поправьте меня, если я ошибаюсь. Я пока не могу оставить комментарий, так как моей репутации недостаточно.

решение3

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

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

Связанный контент