Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据多个条件对行进行循环排序,直到Excel中达到所有条件(一个条件取决于行数)_Excel_Vba_Loops_Sorting_Conditional Statements - Fatal编程技术网

根据多个条件对行进行循环排序,直到Excel中达到所有条件(一个条件取决于行数)

根据多个条件对行进行循环排序,直到Excel中达到所有条件(一个条件取决于行数),excel,vba,loops,sorting,conditional-statements,Excel,Vba,Loops,Sorting,Conditional Statements,我正在寻找一种方法,根据以下3个标准,从第4行开始对表中的行进行多级排序: 第一级排序-不在之前处理(K列)-从最早到最新,即从2021年6月1日开始 处理开始日期(E列)介于不在(K列)之前的处理和不在(L列)之后的处理之间 处理开始日期的年龄(第M列)必须大于或等于11 处理开始日期的年龄(第M列)取决于前几行 每次重新排列行时,都会重新计算高亮显示的单元格,包括处理开始日期的时间 继续分拣过程,直到达到所有3个条件 请在以下链接上查找电子表格: 今天刚开始学习VBA 我为语法错误和

我正在寻找一种方法,根据以下3个标准,从第4行开始对表中的行进行多级排序:

  • 第一级排序-不在之前处理(K列)-从最早到最新,即从2021年6月1日开始

  • 处理开始日期(E列)介于不在(K列)之前的处理和不在(L列)之后的处理之间

  • 处理开始日期的年龄(第M列)必须大于或等于11

  • 处理开始日期的年龄(第M列)取决于前几行

    每次重新排列行时,都会重新计算高亮显示的单元格,包括处理开始日期的时间

    继续分拣过程,直到达到所有3个条件

    请在以下链接上查找电子表格:

    今天刚开始学习VBA

    我为语法错误和任何其他错误道歉

    类似于下面的编码可能会起作用

    子序列优化器()
    '处理开始日期:列E-列编号:5
    '不在前处理:列K-列编号:11
    '不在列L之后处理-列编号:12
    '处理开始日期的处理时间:第M列-第13列
    变暗rw为长
    使用ActiveWorkbook.ActiveSheet
    LastRow=.UsedRange.Rows.Count
    对于rw=4至最后一行
    如果.Cells(rw,5)<.Cells(rw,11),则ActiveCell.EntireRow.Offset(1,0).激活
    如果.Cells(rw,5)>=.Cells(rw,11)和.Cells(rw,13)<11,则激活ActiveCell.EntireRow.Offset(1,0)。激活
    如果.Cells(rw,5)>=.Cells(rw,11)和.Cells(rw,5).Cells(rw,12),则ActiveCell.EntireRow.Offset(-1,0)。激活
    如果结束
    下一排
    以
    末端接头