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

2 ответа2

1

Вот небольшой трюк, который можно применить вручную или через VBA.

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

Мы можем изменить формат A1 , чтобы при просмотре или распечатке листа в A1 отображалась только метка. До:



Запустите этот макрос:

Sub ApplyFakeFormat()
    Dim DQ As String, msg As String
    DQ = Chr(34)
    msg = DQ & Range("D1").Text & DQ
    Range("A1").NumberFormat = msg & ";" & msg & ";" & msg & ";"
End Sub

Чтобы получить этот результат:


Если вы не можете использовать VBA, вот как вы можете настроить формат вручную:

0

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

Даже с VBA (это все еще не имеет смысла) значение будет перезаписано формулой со следующим пересчетом.

Клетка содержит одну вещь, а не две. Формула и ее результат - это одно, типизированное значение - это другое, вы не можете иметь оба в одной ячейке. Просто используйте две клетки.

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