matlab怎样返回前一步,执行完宏怎样恢复上一步

在Matlab中,无法通过内置功能自动恢复宏执行前的状态,但可以通过VBA代码来实现。具体做法是使用Application对象的OnUndo方法,在宏程序结束前记录单元格内容,并在'撤销'命令中调用恢复宏运行前的状态。示例代码展示了如何记录变化并定义恢复过程。
摘要由CSDN通过智能技术生成

用VBA可以恢复,但不能通过Excel内置的功能自动实现。您可以使用VBA代码记录下运行宏程序前单元格或单元格区域原先的内容,在“撤销”命令中调用以恢复程序运行前的状态。

您可以使用Application对象的OnUndo方法作为宏程序结束前的最后一个代码,该方法允许您指定出现在“撤销”菜单项中的文本以及点击该文本后所运行的过程。如下面的代码所示:

Application.Onundo “撤销最后一个宏”,”恢复宏程序”

为说明上述方法,下面列出了一个完整的示例。示例的完整代码以及代码说明如下:

‘**************************************************

Type RangeCellInfo '自定义类型存储宏运行所作出的改变

CellContent As Variant

CellAddress As String

End TypePublic OrgWB As Workbook

Public OrgWS As Worksheet

Public OrgCells() As RangeCellInfo

‘**************************************************

Sub EditRange()

' 在所有被选取的单元格中插入X

Dim i As Integer, cl As Range

If TypeName(Selection) <> "Range" Then Exit Sub

Application.ScreenUpdating = False

ReDim OrgCells(Selection.Count)

Set OrgWB = Act

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值