VBA根据数字排序
一列中有数据,数字跟字符串合并,数字在最前面,怎样根据前面的数字进行排列,如:1111/KD12/FD10/FD...
一列中有数据,数字跟字符串合并,数字在最前面,怎样根据前面的数字进行排列,如:
11
11/KD
12/FD
10/FD 展开
11
11/KD
12/FD
10/FD 展开
3个回答
展开全部
我写了段VBA代码来实现。代码的原理也是使用了Z列作为辅助列的,先排序后清除了辅助列的内容。具体“原始数据”在哪一列和“使用哪一列”作为辅助列,可根据实际需要更改代码。
运行前:
运行后:
代码如下:
Sub 按照前2位数字排序()
Dim i As Integer
Dim x As String
xr = Cells(65535, 1).End(xlUp).Row
For i = 1 To xr
x = Left(Range("a" & i), 2)
Range("z" & i) = x
Columns("a:z").Select
Selection.Sort Key1:=Range("z1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin, DataOption1:=xlSortTextAsNumbers
Next
Range("z:z").Clear
Range("a1").Select
End Sub
展开全部
你可以加一个附助列,把前面的数字提取出来,然后按附助列排序。
追问
想法跟我一样,但是排了后还要删除,比较麻烦,有没有其他方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
order by left(字段名,2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |