Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3797|回复: 14

[VBA] VBA对A列按每一行数字从小到大排序

[复制链接]
发表于 2016-9-26 14:22 | 显示全部楼层 |阅读模式
VBA对A列按每一行数字从小到大排序


本帖子中包含更多资源

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

x
发表于 2016-9-27 10:33 | 显示全部楼层
  1. Sub px()
  2.     Dim ar(1 To 11), arr, i&, j%, cf
  3.     arr = Sheets("jh").[a1].CurrentRegion.Resize(, 2)
  4.     For i = 1 To UBound(arr)
  5.         cf = Split(arr(i, 1), " ")
  6.         For j = 0 To UBound(cf)
  7.             ar(cf(j)) = cf(j)
  8.         Next
  9.         For j = 1 To UBound(ar)
  10.             If ar(j) <> "" Then arr(i, 2) = arr(i, 2) & ar(j) & " "
  11.         Next
  12.         Erase ar
  13.     Next
  14.     Sheets("jh").Columns("c:c").Clear
  15.     Sheets("jh").[c1].Resize(UBound(arr), 1) = Application.Index(arr, , 2)
  16. End Sub
复制代码

评分

参与人数 1 +3 收起 理由
laoau138 + 3 来学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-9-27 12:14 | 显示全部楼层
回复

使用道具 举报

发表于 2016-9-27 12:48 | 显示全部楼层
你别着急评最佳呀 我还想看看大神们更好的思路呢[em01]
回复

使用道具 举报

 楼主| 发表于 2016-9-27 13:23 | 显示全部楼层
today0427 发表于 2016-9-27 12:48
你别着急评最佳呀 我还想看看大神们更好的思路呢

我也要看啊,你已经成为大神了
回复

使用道具 举报

发表于 2016-9-27 13:34 | 显示全部楼层
像我这种瞎蹦跶的才不是大神,我只是想抛个砖,引来个玉,大神多得很,隐藏在民间,就看你有没有发现神的眼睛
  1. Sub rg()
  2. Dim arr, i&, j%, cf, str$, s
  3. arr = Sheets("jh").[a1].CurrentRegion.Resize(, 2)
  4.     For i = 1 To UBound(arr)
  5.         cf = Split(arr(i, 1), " ")
  6.         For j = 0 To UBound(cf)
  7.             str = str & Replace(Format(cf(j) - 1, "0"), "10", "&")
  8.         Next
  9.    
  10.     With CreateObject("vbscript.regexp")
  11.         .Pattern = "[^" & str & "]"
  12.         .Global = True
  13.         s = .Replace("0123456789&", "")
  14.         For j = 1 To Len(s)
  15.             arr(i, 2) = arr(i, 2) & Format(IIf(Mid(s, j, 1) = "&", 10, Mid(s, j, 1)) + 1, "00") & " "
  16.         Next
  17.     End With
  18.         str = ""
  19.     Next
  20.     Sheets("jh").Columns("c:c").Clear
  21.     Sheets("jh").[c1].Resize(UBound(arr), 1) = Application.Index(arr, , 2)
  22. End Sub
复制代码

感觉这个办法一点也不好,必须要受数据源的限制,好在你就只有个11,再多这个办法也做不了了
也就是图个拓展思路

评分

参与人数 1 -3 收起 理由
QCW911 -3 来学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-9-27 13:37 | 显示全部楼层
today0427 发表于 2016-9-27 13:34
像我这种瞎蹦跶的才不是大神,我只是想抛个砖,引来个玉,大神多得很,隐藏在民间,就看你有没有发现神的眼 ...

你比我强10倍,所以你可以进入高手级别了
回复

使用道具 举报

发表于 2016-9-27 13:45 | 显示全部楼层
laoau138 发表于 2016-9-27 13:37
你比我强10倍,所以你可以进入高手级别了

首先肯定强不了你十倍,大家都深藏不露,就算是,那我也还根本没摸到高手的脚趾头,越学越觉得自己其实啥也不会这才说明你刚刚入了门。
回复

使用道具 举报

 楼主| 发表于 2016-9-27 13:53 | 显示全部楼层
today0427 发表于 2016-9-27 13:45
首先肯定强不了你十倍,大家都深藏不露,就算是,那我也还根本没摸到高手的脚趾头,越学越觉得自己其实啥 ...

在VBA领域,全中国也没有一个人比你强10倍
回复

使用道具 举报

发表于 2016-9-27 15:32 | 显示全部楼层
today0427 发表于 2016-9-27 13:34
像我这种瞎蹦跶的才不是大神,我只是想抛个砖,引来个玉,大神多得很,隐藏在民间,就看你有没有发现神的眼 ...

晕,忘点加分了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-19 13:28 , Processed in 0.360996 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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