excel - VBA Excel 按特定列排序范围

标签 excel vba sorting

我有一个可以包含任意行数的表:

enter image description here

正如我所说,它可以包含 1 或 Infini 行。

我想按 B 列中的日期单元格对范围 A3:D∞ 进行排序。
我该怎么做?

问题是我不知道如何从 A3 中选择到最后一行。

我认为循环到最后一行不是正确的方法。

到目前为止,我已经得到了它看起来是正确的,但范围是硬编码的。
如何摆脱范围的硬编码?

Range("A3:D8").Sort key1:=Range("B3:B8"), _
order1:=xlAscending, Header:=xlNo

最佳答案

试试这个代码:

Dim lastrow As Long
lastrow = Cells(Rows.Count, 2).End(xlUp).Row
Range("A3:D" & lastrow).Sort key1:=Range("B3:B" & lastrow), _
   order1:=xlAscending, Header:=xlNo

关于excel - VBA Excel 按特定列排序范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21451458/

相关文章:

python - 为相同的字典值创建可交换元组键的最佳方法是什么?

Excel VBA - 使用工作簿 B 中的模块更新工作簿 A 中的数据

java - 按值的字母顺序排列 HashMap

javascript - 按相关性排序 : How to sort a list to have matching values first?

excel - 使用多个字符串条件搜索 Excel

arrays - MS Excel -> 2 列到二维数组中

vba - 如何在满足条件时删除Excel中的整行

VBA Excel - 在 VBA 中存储列表的方法?

sql - 为什么在 Excel VBA 中运行 SQL 查询时需要将这个词括起来?

excel - 将 2 个 Excel 表合并为一个 append 数据?