Есть ли способ сделать кнопку сброса в форме таблицы Excel? То есть я хотел бы упростить очистку всех введенных данных, но не формул.

РЕДАКТИРОВАТЬ: Дальнейшее объяснение: на самом деле это просто электронная таблица. Когда мы каждое утро считаем деньги, у нас есть форма, в которой мы записываем все номиналы денег, а затем складываем их (затем помещаем эти числа в калькулятор). Я полагаю, что это сэкономит время и уменьшит количество ошибок, если мы просто введем итоги в электронную таблицу и позволим Excel сделать за нас вычисления. Однако некоторые люди не очень технически грамотны, поэтому я хотел бы убедиться, что формулы не были случайно удалены.

2
aslum 30 Авг 2011 в 03:45

3 ответа

Лучший ответ

Общей «кнопки сброса» нет, поэтому ее придется сделать самостоятельно.

Добавьте кнопку на свой лист и отредактируйте ее код в модуле листа:

Private Sub CommandButton1_Click()
    ClearInput
End Sub

В модуле (обычного кода) создайте Sub, который делает то, что вы хотите:

Sub ClearInput()

    Dim rngInput As Range
    Set rngInput = Sheet1.Range("B1:C4") ' Or wherever the user input goes
    rngInput.ClearContents

End Sub

Более гибкое решение - иметь в листе именованный диапазон (называемый, например, «UserInput»), охватывающий все ячейки, которые в дальнейшем потребуется очистить. Затем вы можете заменить оператор Set в приведенном выше коде на Set rngInput = Sheet1.Range("UserInput").

7
Jean-François Corbett 30 Авг 2011 в 06:50

После вашего комментария "Однако некоторые люди не очень технически грамотны, поэтому я хотел бы убедиться, что формулы не были случайно удалены." (который вы, возможно, захотите перейти к вопросу) :

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

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

2
Joubarc 30 Авг 2011 в 07:20

Для этого вы можете использовать VBA. Не видя вашей электронной таблицы, я не могу дать вам никаких подробностей, но вы можете сделать это, чтобы установить для всех ячеек в строках 1-15 столбца A пустую строку.

ActiveSheet.Range("A1", "A15").Value = ""
0
Johnie Karr 30 Авг 2011 в 11:59