В Excel я хотел бы иметь возможность назначать значение ячейке из другой ячейки, но при этом иметь возможность редактировать назначенную ячейку без потери формулы и функциональности. Есть ли какая-либо функция, способная сделать это, или я должен использовать VBA? Кроме того, не могли бы вы привести примеры?
2 ответа
Вот небольшой трюк, который можно применить вручную или через 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, вот как вы можете настроить формат вручную:
Не уверен, правильно ли я вас понял - после редактирования у вас будет формула в этой ячейке, но типизированное значение, которое потенциально отличается от результата формулы? Это невозможно и имеет мало смысла.
Даже с VBA (это все еще не имеет смысла) значение будет перезаписано формулой со следующим пересчетом.
Клетка содержит одну вещь, а не две. Формула и ее результат - это одно, типизированное значение - это другое, вы не можете иметь оба в одной ячейке. Просто используйте две клетки.