设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 7928|回复: 17
打印 上一主题 下一主题

[加载项] excel每录入一条就自动排序

[复制链接]
1#
发表于 2011-3-29 14:26:32 | 显示全部楼层
回复 pureshadow 的帖子

1、这个貌似发错版块了。小妖姐姐看看可否移动一下?
2、诚如小妖姐姐所说,虽然很简单(就一行),但必须用代码才能实现:

  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2. '对A列进行升序排序,如果是降序请把最后一个参数改为:xlDescending
  3. Range("A:A").Sort Range("A1"),xlAscending
  4. End Sub
复制代码
3、如果无法执行,很可能因为您的Excel禁用了宏,请按附图修改宏的安全性(以2003版本为例):



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
2#
发表于 2011-3-29 15:35:35 | 显示全部楼层
回复 jl128 的帖子

操作的东西不好说,附上一个录像吧:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
3#
发表于 2011-3-29 15:47:46 | 显示全部楼层
本帖最后由 roych 于 2011-3-29 15:57 编辑

改成这个试试看?
  1. If Target.Column = 1 And Target.Row > Range("E:E").CurrentRegion.Rows.Count Then Range("A:E").Sort Range("A1"), xlAscending
复制代码

你可以把里面的E列即Range("E:E"),改为其它一些不可为空的列(即可用以判断到底是否已经完整输入一条记录的单元格),例如Range("A:A")。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
4#
发表于 2011-3-29 16:15:00 | 显示全部楼层
你传个附件上来吧。附件都是俺在做(听起来好像是俺在求助似的)……老板经常说,“上班时间聊Q的同事,你们辛苦了”,所以我不敢上Q。
5#
发表于 2011-3-29 16:19:40 | 显示全部楼层
当然麻烦啦……只是,既然LZ希望用代码实现,那做个实例给Ta参考下也无妨。
6#
发表于 2011-3-29 19:31:19 | 显示全部楼层
回复 jl128 的帖子

废话少说,请看招:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
7#
发表于 2011-4-2 16:56:40 | 显示全部楼层
多加几个Key就好了。例如:
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2. If Target.Row > Range("A4:F4").End(xlDown).Row Then
  3. Range("A4:F" & Range("A4:F4").End(xlDown).Row).Sort key1:=Range("B4"), order1:=xlAscending, header:=xlGuess, key2:=Range("E4"), order1:=xlAscending, header:=xlGuess, key3:=Range("C4"), order1:=xlAscending, header:=xlGuess
  4. End If
  5. End Sub
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-16 23:54 , Processed in 0.089488 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表