Tag: 撤消

撤消function恢复重置内容macros

我有一个工作表上的Active X控制button,将“重置工作表的内容”。 我也想添加一个名为“Undo Button”的button,它应该使用“Reset Contents”恢复被清除的内容。 这可能吗? Private Sub CommandButton21_Click() Worksheets("DropSheet").Range("E7:E15").ClearContents End Sub 请build议

为什么不能颠倒VBA模块操作? 即Ctrl + Z'ed

在过去的几个月中,我一直在编写VBA脚本,并且注意到,如果我编写一个作用于Excel工作簿/表单的模块,我无法按Ctrl + Z这些操作。 从我注意到的情况来看,这适用于模块执行的任何操作。 一个简单的例子是: Sub test() Cells(1,1) = "Hello World" End Sub 为什么模块操作不能“倒转”? 即通过Ctrl + Z撤消,或者通过使用“撤消”箭头。 PS我认为这种行为也可能适用于任何MS应用程序中的任何模块操作,但是,我可能很容易出错。

没有使用macros得到活动单元格

我需要获取单元格A1中的活动单元格的地址 我可以用macros观来做 Sub Worksheet_selectionchange(target as range) Cells(1,1)=activecell.address End sub 这个解决scheme的问题是,用户失去了撤消… 有任何想法吗?

MS Excel如何使用VBA撤消多个操作

我想知道是否可以撤消撤消队列中的所有操作, 我知道的Application.Undo函数,但这只是撤消最后一个动作,并清除队列,我试着把它放在一个循环,它只是保持撤消,然后重做。 额外信息: 用户以只读方式打开表单, 意外更改字段,然后使用一个窗体,使更改然后保存(在vba),意外的变化也保存了, 我想在用户运行表单之前撤消所有意外的更改,只保存必要的更改。 我可以同时撤消多个操作吗?

Excel VB错误Application.Undo&ActiveSheet.Protect

好奇,如果有人有这个解决scheme。 这是我的代码在下面,我认为这是完美的工作。 我们用了很长时间,有人指出我们一直在做什么,这会导致脚本错误。 这段代码的作用是防止某人一次更新多个单元格。 如果有人拷贝了大量的数据,在粘贴到Excel中的时候会占用多行或多列,比如应对电子邮件并将其粘贴到电子表格中,则会收到一个popup式警报,表示不要更改多个单元格在一次,然后它将撤消粘贴。 这部分工作很好。 什么人正在做,这是造成一个错误,他们会select一个单元格,并在单元格的右下angular,你可以点击并拖动填满或以上的方块,他们会select并填写。 如果只填充一个单元格,则不存在问题。 问题是当他们对两个或更多的单元执行此操作时,即发生错误时。 更具体地说,在说的Application.Undo的行。 所以这个问题真的不在Application.Undo这一行,实际上是在电子表格被locking的情况下。 如果我想删除说ActiveSheet.Unprotect和ActiveSheet.Protect的行,那么代码工作正常。 但是,我确实希望它被保护。 还有更多的代码,然后我在这里,但这只是它的一个片段,我确实有正确格式的单元格,所以正确的是locking的,其他人不是。 你应该能够把这些代码粘贴到一个新的电子表格中,并且能够工作,所以你可以看到我在说什么,但是,确保你先解锁一些单元格,然后才能进行编辑。 一旦你这样做,看到这个错误,去掉保护/不保护行再次尝试,代码将工作没有任何问题。 请让我知道如果有人有这个解决scheme,所以我仍然可以保持电子表格保护,并感谢您的帮助! Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False ActiveSheet.Unprotect Dim vClear As Variant Dim vData As Variant Dim lFirstRow As Long Dim lLastRow As Long 'This prevents more than one cell from being changed at once. 'If […]

在macros运行期间保存撤消堆栈

我想知道是否有一种方法来保存macros运行后撤消操作的能力。 我不关心macros的结果 – 只需要撤消用户在macros之前完成的操作。 背景:在worksheet_change事件上有一个macroslogging谁在这个工作表上进行更改。 我不希望它限制用户撤消他/她的行为的能力。

Excel插件与无缝撤消:可能吗?

我正在考虑实现一个使用COM( 而不是 VBA)的Excel加载项,它将处理工作表中的数据。 我将需要这个加载项与Undo堆栈无缝集成。 进一步来说: 这个加载项对数据的任何修改都需要用户撤销(通过标准的撤消操作) 需要保留插件操作发生之前撤消堆栈中的项目 到目前为止,我的(尽pipe敷衍)研究,Excel是否可以允许这一点还不清楚。 如果没有,这是一个showstopper,加载项将没有价值。 我的问题:这可能吗? 这更像是一个“是或否”的问题,而不是一个“如何”的问题,因为我需要知道我是否正在进行大雁追逐。 然而,任何关于如何做的指针都是一个好处。

构build撤销到Excel VBAmacros

运行它们后,Excelmacros似乎不允许使用“撤消”。 有没有办法在Excel中将undofunction复制到VBAmacros中?