【发布时间】:2018-04-11 15:05:44
【问题描述】:
在 Excel 中,我试图在新行中输入数据,当我保存时,让它自动按 A 列中的值的字母顺序对所有填充的行进行排序(本质上,我想消除单击“排序”的麻烦每次保存前的 A 到 Z”)。我在工作表的代码中有以下内容(工作簿包含三个工作表,我只希望这个宏对其中一个进行操作)
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
On Error Resume Next
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Range("A1").Sort Key1:=Range("A3"), _
Order1:=xlAscending, _
MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub
注意:key1 范围从 A3 开始,因为第 1-2 行是标题。谁能弄清楚为什么这段代码不起作用?我并没有真正编码,所以如果缺少某些东西,我将不知道。我知道启用宏不是问题,因为我可以手动运行其他宏没有问题,只是这个自动的宏不起作用。
【问题讨论】:
-
您是否将此代码放在
ThisWorkbook部分?这是一个事件,所以它需要在那里而不是在自定义模块/工作表中。*.com/questions/12365417/… 供参考 -
它不起作用,因为没有目标。 Yo9u 复制了太多代码,你正在使用错误恢复下一个。