如何编写VBA Excel宏返回列表最小值并写入指定单元格G3
修改说明
你的代码存在两处核心错误:
- 没有对C列范围调用求最小值的方法,直接赋值范围对象不符合语法
Range("G3").Value.Low属于无效写法,单元格值的读写直接使用Range("G3").Value即可
修正后代码
Sub LowestSales2() Dim c As Range ' 定位C列C2到最后一个有数据的行的范围,避免引用整列无效空值 Set c = Range("C2:C" & Cells(Rows.Count, "C").End(xlUp).Row) ' 调用工作表Min函数计算最小值,写入G3 Range("G3").Value = WorksheetFunction.Min(c) End Sub
可选优化(规避空列报错)
如果C列可能出现全空的情况,可以增加异常判断逻辑:
Sub LowestSales2() Dim c As Range Dim lastRow As Long ' 获取C列最后一个有数据的行号 lastRow = Cells(Rows.Count, "C").End(xlUp).Row ' 若C2及以下没有数据,提示后退出 If lastRow < 2 Then Range("G3").Value = "无有效数据" Exit Sub End If Set c = Range("C2:C" & lastRow) Range("G3").Value = WorksheetFunction.Min(c) End Sub
内容的提问来源于stack exchange,提问作者Badger11
相关产品推荐
相关产品推荐

