【问题标题】:Partial Sorting/Re-ordering with VBA使用 VBA 进行部分排序/重新排序
【发布时间】:2016-10-28 13:57:16
【问题描述】:

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

基本上 - 我有一个工作表,其中包含许多数据行,当前以非常特定的顺序显示。在此工作表的“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**

这样的事情可能吗?

提前致谢!

【问题讨论】:

    标签: vba excel macros


    【解决方案1】:

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

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

    然后将公式复制下来。现在对 Z 列进行排序。;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-28
      • 2021-12-03
      • 1970-01-01
      • 2010-11-29
      • 1970-01-01
      • 2016-12-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多