Я пытаюсь это:

C9 формула: = -40+C9

Я хочу ввести какое-то значение в C9, которое не перезапишет формулу и не получит результат в этой ячейке. Например:

Если я введу значение 140 в C9, ячейка будет отображать 100, потому что формула = -40+C9

Это возможно?

3 ответа3

4

Краткий ответ: нет.

Выполнение того, что вы заявили, приведет к тому, что называется круговой ссылкой.

2

Вы можете написать макрос для изменения ячейки http://support.microsoft.com/kb/213612. Может быть полезным прочитать эту тему: https://stackoverflow.com/questions/409434/automatics-execute-an-excel. -macro-на-клеточного изменения

Вот рабочий пример (только что попробовал на моем компьютере)

Private Sub Worksheet_Change(ByVal Target As Range)
    Set KeyCells = Range("A1:C10")
    Set isect = Application.Intersect(KeyCells, Range(Target.Address))
    If Not isect Is Nothing Then
        Application.EnableEvents = False
        isect.Value = isect.Value - 40
        Application.EnableEvents = True
    End If
End Sub
1

Вы не должны делать это!

Создание C9 = -40 + C9 - это просто рекурсия. Это означает, что если ячейке разрешено выполнять оценку, она должна постоянно вычитать -40 из себя. Кроме того, я не рекомендую использовать Макро. Вы никогда не сможете вносить изменения или возвращаться к предыдущим значениям. Скажем, если вы хотите изменить одну ячейку, это повлияет на другие ячейки.

Я предлагаю сделать дополнительную колонку для этого. Скажите, напишите свое значение в C9 и оцените его в D9. Затем вы можете скрыть столбец C, чтобы сделать его недоступным для печати. Этот способ очень надежный и безопасный. На самом деле, именно так электронные таблицы предназначены для работы.

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