gpt4 book ai didi

vba - Excel VBA 代码查找列中的最大单元格值并删除其下方的所有行

转载 作者:行者123 更新时间:2023-12-03 03:29:47 29 4
gpt4 key购买 nike

我有数百个 .csv 文件(A 列和 B 列中的数据)需要清理,我认为宏对于快速处理这些数据很有用。

代码的目标是找到 A 列中具有最大值的单元格并删除其下方的所有行

到目前为止,我的代码是

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 编辑器中运行宏,并在突出显示这部分代码时看到“编译错误:需要对象”

maxValue =

在行

Set maxValue = Application.WorksheetFunction.Max(Columns("A"))

我搜索了各种论坛,发现了与我的问题类似的问题,但我对语法不够熟悉,无法找出代码中的问题所在。我将非常感谢任何帮助,并希望了解如何正确修改此代码

最佳答案

您没有设置一个Long,它不是一个对象。

Max 函数不返回位置,而是返回实际数字。

我们可以对数字使用 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

关于vba - Excel VBA 代码查找列中的最大单元格值并删除其下方的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45849626/

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