Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA返回包含最大值的错误单元格_Excel_Vba - Fatal编程技术网

Excel VBA返回包含最大值的错误单元格

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不能处理小数,而您正在搜索可能存在于许多单元格中的非小数舍入数

所以我试图在整个列E中找到最大值。下面的代码返回一个行号,但不是包含最大值的行。有点不知所措,不知该怎么解决。我可以通过使用Index&Match让它工作,但我希望它能以这种方式工作。我的电子表格在这里:


设置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