gpt4 book ai didi

excel - 根据列 "L"按升序对范围进行排序

转载 作者:行者123 更新时间:2023-12-03 02:32:24 25 4
gpt4 key购买 nike

我使用下面录制的宏对 L 列进行升序排序,但是必须使用 12 行代码来对某些内容进行排序似乎有点荒谬。有没有更“有效”的方法来做到这一点?

我需要它根据 L 列对整个工作表进行排序。

Sheets("Sheet1").Range("A1").End(xlToRight).AutoFilter
Sheets("Sheet1").AutoFilter.Sort.SortFields.Clear
Sheets("Sheet1").AutoFilter.Sort.SortFields.Add Key:=Range _
("L1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With Sheets("Sheet1").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

最佳答案

以下行将以升序对 L 列进行排序。

 Sheets("Sheet1").Sort Key1:=Range("L1"), Order1:=xlAscending

这将对整个工作表进行排序,为了对数据进行排序,我将声明几个变量,如下所示:

Dim lastRow As Long, lastColumn As Long, StartCell AS Range, s As Worksheet

Set s = Sheets("Sheet1")
Set StartCell = Range("A1")
lastRow = s.Cells(s.Rows.Count, StartCell.Column).End(xlUp).Row
lastColumn = s.Cells(StartCell.Row, s.Columns.Count).End(xlToLeft).Column

s.Range(StartCell, s.Cells(lastRow, lastColumn)).Sort _
Key1:=Range("L1"), Order1:=xlAscending

经过编辑以反射(reflect)包含整个工作表

关于excel - 根据列 "L"按升序对范围进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42165273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com