如何使用VBA代码执行排序操作?是否有任何已定义的宏来执行该操作?
我必须按升序对列B进行排序,其中包含值。和C列,其中有日期和最新的时尚。
答案 0 :(得分:5)
我非常建议您使用宏录音机。如果您在Excel中没有看到开发人员选项卡,请转到Excel选项,它应位于“热门”选项卡中。点击将其打开。
按录制宏,然后执行您要执行的操作(例如高亮显示列并按功能区上的排序并按升序排序),然后停止录制。进入VBA(Alt + F11)并查看生成的代码,以了解如何编写相同函数的语法。
例如,排序日期将产生如下内容:
Sub Macro1()
Columns("F:F").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("F1:F5"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("F1:F5")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
由于您在运行宏时已经选择了要排序的列,因此可以将代码清理为以下内容:
Sub SortAscending()
With ActiveWorkbook.Worksheets("Sheet1").Sort
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
排序日期可以使用相同的代码完成,因为它是升序:
诀窍是要记住,您不需要在已经选择的代码中选择范围。祝你好运并享受录音机的乐趣,它确实对这种情况有所帮助。
此外,有很多关于Excel VBA的书籍,我建议您在书店或数字处选择一本书。大多数书籍将引导您了解VBA基础知识,主要关键词,使用录音机,然后最终足够远,以便您可以编写自己的代码(录音机代码很难优化或完美,但很适合学习措辞) (语法)做一些工作表函数)。