Excel VBA代码来查找列中的最大单元格值,并删除它下面的所有行
我有数百个.csv文件(列A和B中的数据)进行清理,我认为一个macros可以快速处理这些数据。
代码的目标是在列A中find具有最大值的单元格,并删除它下面的所有行
到目前为止,我的代码是
Sub DeleteRowAfterRange() Dim maxValue As Long Set maxValue = Application.WorksheetFunction.Max(Columns("A")) With Sheets("Sheet1") .Rows(maxValue & ":" & UsedRange.Rows.Count).Delete End With End Sub
我在VB编辑器中运行macros,看到这部分代码被突出显示时,编译错误:所需的对象
maxValue =
在线
Set maxValue = Application.WorksheetFunction.Max(Columns("A"))
我已经通过各种论坛search,发现类似于我的问题,但我不熟悉的语法来弄清楚我的代码中的问题。 我将不胜感激任何帮助,并希望学习如何正确修改此代码
你不Set
一个长,这不是一个对象。
最大值function不返回的位置,但实际的数字。
我们可以用数字上的Match来返回行。
Sub DeleteRowAfterRange() Dim maxValue As Long With Sheets("Sheet1") maxValue = Application.WorksheetFunction.Match(Application.WorksheetFunction.Max(.Range("A:A")), .Range("A:A"), 0) .Rows(maxValue & ":" & .UsedRange.Rows.Count).Delete End With End Sub