开始之前想问大家一个问题,还记得你年初的小目标吗?2019年我的目标是,完成2018年那些本该在2017年完成的我在2016年信誓旦旦要完成的2015年制定的目标-减肥,

好了我们正式开始把

今天有粉丝后台私信问到,如何将Excel按行排序,有好几千行呢,今天就教大家制作vba代码来实现这次的要求,非常简单按照过程来肯定不会错

这个是今天的演示表

一张图教你用vba自定义排序知乎(教你5分钟写好以行排序的vba代码)(1)

一。、录制宏

首先我们要录制一个宏,宏本身就是vba代码,如果大家以后学习vba遇到不会写的代码都可以录制宏来实现

我们选择第一行录制一个按行排序的宏,当我们完成排序后不要乱点鼠标,一定要紧接着点击结束录制,否则很容易出错,动图如下

一张图教你用vba自定义排序知乎(教你5分钟写好以行排序的vba代码)(2)

当我们录制完成后就在开发工具选项点击宏找到我们刚才录制的宏点击编辑

一张图教你用vba自定义排序知乎(教你5分钟写好以行排序的vba代码)(3)

这样我们就进入了vb编辑器对我们的代码进行编辑如下图

一张图教你用vba自定义排序知乎(教你5分钟写好以行排序的vba代码)(4)

我们可以看到数据要求以行进行排序,每行数据中变化的只有行标,而列标并未改变,

比如,第一行我们的排序区域是A1:G1,第二行我们的排序区域是A2:G2

所以我们可以使用循环语句来稍微修改先代码就能实现我们的要求

我们使用for..next语句来修改下代码就可实现,在这里为了放大演示我将代码粘贴出来了

一张图教你用vba自定义排序知乎(教你5分钟写好以行排序的vba代码)(5)

我们加上两句代码

Dim x As Integer这句的意思是定义x为整数

For x = 1 To 17这句的意思为让x从1一直循环到17,在这里1是需要排序的第一行的行标17为最后一个的行标

可以根据自己的数据进行实际的修改

然后我们将Range("A1:G1")中括号中数值全部的更改为Range("A" & x, "G" & x),更改后代码是这样的我们只需在最后加上一个next即可,这样代码就改好了

一张图教你用vba自定义排序知乎(教你5分钟写好以行排序的vba代码)(6)

然后我们再在开发工具中选择刚才更改宏点击执行即可

一张图教你用vba自定义排序知乎(教你5分钟写好以行排序的vba代码)(7)

怎么样是不是非常简单呢

你们的关注点赞和转发是我持续更新的动力

,