我是 VBA 新手,擅长宏,但不是基本编程。我有几十个 excel 文件,我从中获取数据、清理它们并将其填充到一个文件中。数据填充好后,我想按照A列进行排序。玩了2个小时后,我刚刚录制了一个宏并将其剪切并粘贴到我的ButtonCall sub中。但我想知道它为什么起作用以及为什么我在这里找到的解决方案和在线对我不起作用......
为什么这个简单的代码不起作用:
Set q = ThisWorkbook.Worksheets(2)
LastRow = q.UsedRange.rows.Count 'q.UsedRange.Row ' - 1 + q.UsedRange.rows.Count
LastCol = q.UsedRange.Columns.Count
q.Range("A6:AAA" & LastRow).Sort Key:=q.Columns("A"), Order:=xlDescending
而这个修改后的录制宏呢?
Set q = ThisWorkbook.Worksheets(2)
LastRow = q.UsedRange.rows.Count 'q.UsedRange.Row ' - 1 + q.UsedRange.rows.Count
LastCol = q.UsedRange.Columns.Count
q.Sort.SortFields.Clear
q.Sort.SortFields.Add Key:=Range("A6:A" & LastRow), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With q.Sort
.SetRange Range("A6:AAA" & LastRow)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
有什么想法吗?谢谢。