是否可以在 excel 表单中有一个"reset form"按钮?



是否有办法在Excel电子表格中设置重置按钮?也就是说,我想清除所有输入的数据,但不清除任何公式。

编辑:进一步解释:实际上,它只是一个电子表格。当我们每天早上数钱的时候,我们有一个表格,在上面写下每一种不同的货币面额,然后把它们加起来(然后把这些数字输入计算器)。我想,如果我们把总数输入到电子表格中,让Excel为我们做数学计算,这样可以节省时间,减少错误。然而,有些人不太懂技术,所以我想确保公式不会被意外删除。

没有通用的"重置按钮",所以你必须自己做一个。

在工作表中添加一个按钮,并在工作表模块中编辑其代码:

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

一个更灵活的解决方案是在你的工作表中有一个命名的范围(称为e.g.。"UserInput"),它覆盖了稍后需要清除的所有单元格。然后可以用Set rngInput = Sheet1.Range("UserInput")替换上面代码中的Set语句。

根据你的评论"然而,有几个人不是很懂技术,所以我想确保公式不会被意外删除。"(您可能希望将其迁移到问题中):

如果您想要确保用户不会意外地在他们需要的其他单元格中输入数据,您将需要保护工作表并取消对输入单元格的保护(单元格在默认情况下是受保护的)。当保护工作表时,允许"选择未锁定单元格",但禁用"选择锁定单元格"。如果你只是想避免意外而不是恶意,我可能不需要密码,但这也是一个选项。

这样做的一个额外的好处是,只有输入单元格是可选择的,你可以在它们之间选择输入数据,无论它们在哪里

您可以使用VBA来完成此操作。没有看到你的电子表格,我不能给你任何细节,但你可以这样做,将所有单元格在A列1-15行设置为空字符串。

ActiveSheet.Range("A1", "A15").Value = ""

最新更新