【问题标题】:how to create a undo clear all button in excel如何在excel中创建一个撤消清除所有按钮
【发布时间】:2013-07-21 17:43:36
【问题描述】:

我已经清除了所有按钮,但我在制作撤消清除所有按钮时遇到了问题 VBA中清除所有按钮的代码

private sub commandbutton1_click
Sheets ("examplesheet").range ("a1:a3").value = ""

如果我不小心清除了整个表单,有人可以帮我为这个示例制作一个撤消按钮吗?

【问题讨论】:

  • 本,请参阅this SO post的答案。
  • 对不起,我建议的帖子答案仅涉及撤消非 VBA 操作。相反,请查看描述的答案 here
  • 老实说我有点过头了,您能否为所提供的代码提供示例代码?

标签: excel vba


【解决方案1】:

您可以创建一个在您单击撤消按钮时执行某些操作的函数。

以下示例使用名为Undo 的工作表来存储撤消所需的信息。可以隐藏工作表以使其更清洁。

Sub Test()
  ClearCell Cells(1, 1)
End Sub

Sub ClearCell(R As Range)
  Sheets("Undo").Range("A1") = R.Worksheet.Name
  Sheets("Undo").Range("A2") = R.Address
  Sheets("Undo").Range("A3") = R.Text
  R.Clear
  Application.OnUndo "Undo button text", "MyUndo"
End Sub

Sub MyUndo()
  Sheets(Sheets("Undo").Range("A1").Text).Range(Sheets("Undo").Range("A2").Text) = Sheets("Undo").Range("A3").Text
End Sub

您可以按照 chuff 的评论建议的文档中的说明管理一系列操作来优化它

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 2021-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-05
    相关资源
    最近更新 更多