Excel VBA返回包含最大值的错误单元格
所以我试图在整个列E中找到最大值。下面的代码返回一个行号,但不是包含最大值的行。有点不知所措,不知该怎么解决。我可以通过使用Index&Match让它工作,但我希望它能以这种方式工作。我的电子表格在这里:Excel VBA返回包含最大值的错误单元格,excel,vba,Excel,Vba,所以我试图在整个列E中找到最大值。下面的代码返回一个行号,但不是包含最大值的行。有点不知所措,不知该怎么解决。我可以通过使用Index&Match让它工作,但我希望它能以这种方式工作。我的电子表格在这里: 设置rng=wsData.Range(“E:E”)并使用:mDRow=Application.Match(Application.Max(rng),rng,0)将MaxVal设置为Double-这能解决问题吗?因为Longtype不能处理小数,而您正在搜索可能存在于许多单元格中的非小数舍入数
设置rng=wsData.Range(“E:E”)
并使用:mDRow=Application.Match(Application.Max(rng),rng,0)
将MaxVal设置为Double
-这能解决问题吗?因为Long
type不能处理小数,而您正在搜索可能存在于许多单元格中的非小数舍入数。@Scott Holtzman我尝试了这一方法,但毫无效果。我无法用您的代码重现您的问题(除非我将xlValues
更改为xlFormulas
。请更具体地说明您的问题。可能是因为没有看到足够的小数,所以您的工作表上没有看到最大值。)。
Sub MonthHighestDemand()
Dim wsData As Worksheet
Dim rng As Range
Dim MaxVal As Long
' Long rounds, double leaves it alone
Set wsData = Worksheets("DATA")
Set rng = Range("E:E")
MaxVal = WorksheetFunction.Max(rng)
Set MaxCell = rng.Find(what:=MaxVal, LookIn:=xlValues)
mDRow = MaxCell.Row
MsgBox mDRow
End Sub