VBA撤消已排序的记录

时间:2018-04-12 12:10:31

标签: excel vba excel-vba

任何人都可以帮我解决下面的情况

我能够在特定的cloumn(“M1”)上使用VBA对记录进行排序,现在如何撤消并将记录保留在原始位置

Sub Sor_t()

  Dim oneRange As range 

  Dim aCell As range   

  Set oneRange = ThisWorkbook.Sheets("RMData").UsedRange   

  Set aCell = range("M1")   

  oneRange.Sort Key1:=aCell, Order1:=xlAscending, Header:=xlYes

End Sub

提前致谢 拉姆

2 个答案:

答案 0 :(得分:0)

  1. 您可以将记录复制到另一列然后排序,这样您就可以将记录保存在原始位置;或者,
  2. 您可以将位置编号从1分配给当前记录,然后在想要返回原始记录时对该列进行排序...

答案 1 :(得分:0)

VBA清除撤消缓冲区(无法撤消排序)

但是,您可以通过解决方法

来实现此目的
  • 如果记录未分类,请创建一个新列(隐藏),并使用连续数字
  • 对任何列上的记录进行排序,然后使用隐藏列恢复为初始排序

---未排序的B栏:

  Col A    Col B
    1        K
    2        Z
    3        A

---排序B栏:

  Col A    Col B
    3        A
    1        K
    2        Z

---现在再次按A列排序