2011-01-21 30 views
2

我想在输入新数据时自动在excel中排序字段。假设我有以下数据,在MS Excel中自动排序字段

美国广播公司
BCD
EFG
HIJ。

如果我输入'Cde'或'fgh'等值,它应该自动排序并移动到合适的位置。我如何在MS Excel 2007中执行此操作?

而且在我的MS Excel 2007中,对表的右键查看代码以及的Visual Basic &宏在开发人员选项卡被禁用。请帮我提一下你的建议。

+0

如果您按Alt + F11,您是否进入VBEditor? – CaBieberach 2011-01-22 22:53:28

回答

0

这样做的最优雅的方法是设置一个工作表宏,每次将值输入到您使用的范围中的一个单元格中时运行。

这仍然可以不使用宏,但它很杂乱。对于数值数据,您可以将RANK和VLOOKUP组合起来创建一个输出范围,当您将新值输入到输入范围内时,该范围将自行排序。为了应对文本值,你将需要:使用的代码功能

  1. UPPER每个排序值
  2. 将每个字符转换为数字(ASCII只)
  3. 串连所有这些数字一起
  4. 应用VALUE函数阻止它们被解析为文本
  5. RANK连接的数字。
  6. VLOOKUP行列,增加额外的逻辑来处理关系...

这不是非常多的工作表中手动排序,如果额外行只是偶尔被添加,所以也许两者都不这些方法是适当的。这可以通过少至5次按键完成 - 按Ctrl + *选择一个单元格被选中后的整个表格,然后alt + d> s调出排序框,然后输入进行排序(如果排序列尚未被默认选中)。

+0

@SyncMaster,如果你喜欢这个答案,请你可以upvote它吗? – user667489 2012-02-28 19:05:27