手机版

根据指定工作表中的数据顺序对另一个工作表中的数据进行排序

时间:2021-09-22 来源:互联网 编辑:宝哥软件园 浏览:

我将数据库中的数据导入到工作表中。数据库中的数据序列原本是排列的,但导入工作表后数据序列混乱。如果用复制粘贴来恢复工作表中的固定顺序,会花费很多时间。能否用VBA快速完成整理如下。

下面图1中的“固定顺序”工作表显示了数据的顺序:

图1

图2中的“完成前”工作表是导入数据后的序列:

图2。

可以看到“未整理”工作表中的列顺序被打乱了,我们需要根据“固定顺序”工作表中的列顺序来恢复“未整理”工作表的顺序。

实现上述目的的代码如下:

子订单范围()

将工作周排序为工作表

将工作单设计为工作表

模糊周新建为工作表

暗淡无光固定不变

变暗变长

一样长

模糊如龙

调暗搜索标题

分配工作表对象。

设置工作单订单=工作表(“固定订单”)。

设置工作单=工作表(“完成前”)。

工作表。添加Before:=wksNoOrder

活动纸。Name="完成后"。

设置工作新=工作表(“完成后”)

获取数据区的最后一列。

lngLastFixed=wksYesOrder。范围(“IV1”)。结束(xlToLeft)。圆柱

lngLastVariable=wksNoOrder。范围(“IV1”)。结束(xlToLeft)。圆柱

列计数变量。

lngNewCol=1

遍历固定顺序工作表列标题。

对于i=1至lngLastFixed

SearchHeader=wksYesOrder。细胞(1,I)

完成工作表之前,请查看。

有了wksNoOrder

设置rng=。范围(。单元格(1,1),单元格(1,lngLastVariable)) _。查找(SearchHeader,LookIn:=xlValues,lookat :=xlall)

如果找到,将该列复制到“完成后”工作表。

如果(不是什么都不是)那么。细胞(1,rng。列)。完整列。复制_

wksNew。细胞(1,lngNewCol)

lngNewCol=lngNewCol 1

如果…就会结束

以…结尾

接下来我

末端接头

上述代码的图片版本如下:

运行代码后的结果如下图3所示:

版权声明:根据指定工作表中的数据顺序对另一个工作表中的数据进行排序是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。