我正在使用excel-vba,我必须按列Q的升序对行进行排序,其值为date。但我遇到了一个错误:
此操作需要相同大小的合并单元格
此外,我还有这段代码是错误的来源。
代码:
Sheet4.Range("Q5:Q" & lastrow).Sort Key1:=Range("A5"), Order1:=xlAscending, Header:=xlNo
以下是我想要排序的专栏的主页
答案 0 :(得分:1)
Excel无法处理具有合并和未合并单元格混合的范围。您可以单独对列Q进行排序,但不能对列Q上的整个表进行排序。
以下是您需要构建到VBA中的解决方法:
对于包含合并单元格的每列: - 取消细胞 - 选择细胞 - 转到特殊...空白单元格(将选择Q6,Q8等 - 在所有单元格中输入公式= A5 - 复制列中的所有单元格并复制/粘贴值
对所有列完成后,您可以对其进行排序
排序后,您可以重新合并单元格以返回到您开始的位置。
这是一种不那么痛苦的编码,而且非常有效。