使用VBA进行部分排序/重新排序

时间:2016-10-28 13:57:17

标签: excel vba excel-vba macros

首先,我的免责声明是,遗憾的是我没有提供需要帮助的代码,因为我完全不知道如何处理这个...... :(

基本上 - 我有一个包含许多行数据的工作表,目前以非常特定的顺序显示。在专栏" C"在此工作表中,数据按照从最早到最晚的日期顺序排序。然后,在" H"此工作表中有唯一的数字标识每一行。在单独的工作表中,我有一个这些相同数字的列表,这些数字可能不一定与第一个工作表中的数字顺序相同,也不包括所有这些唯一数字。

我正在寻找的是我可以运行的一些VBA代码,它基本上将第一张纸上的行与另一张纸上的数字进行比较,并在必要时重新排序第一张纸上的线以匹配订单上的第二张表(未更改日期顺序)。如果数字不会出现在第二张纸上,则不应更改订单。

EG:说我有第一张带有列的表格" C" &安培; " H"显示如下:

    C          H
01/10/2016   **124**    
01/10/2016   **137**   
01/10/2016   **198**    
03/10/2016   **179**    
04/10/2016   **59**    
04/10/2016   **329**    
05/10/2016   **208**    
05/10/2016   **240**

然后第二张表格上只有以下数字,按照以下顺序排列:

C

**198**    
**137**    
**329**    
**59**

然后,代码应该按照以下确切的顺序对初始数据进行重新排序/排序:

    C          H

01/10/2016   **124**    
01/10/2016   ***198***    
01/10/2016   ***137***    
03/10/2016   **179**    
04/10/2016   ***329***    
04/10/2016   ***59***    
05/10/2016   **208**    
05/10/2016   **240**

这样的事情可能吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

如果您认为表1的Z列是空的(您也可以使用另一列作为帮助,那么只需:

=C1+(ROW()/10+IFERROR(MATCH(H1,Sheet2!C:C,0),0))/100000

将公式复制下来。现在排序列Z.;)