关于application.match vba十进制数的错误2042
我无法将范围的最大值匹配到相同的范围内。 这样做的目的是要知道哪一列我可以find最大值。
即时通讯与这个代码尝试
Set rango = Range(Cells(45, W), Cells(46, W1)) rango.Select maximo = WorksheetFunction.Max(rango) matching = Application.Match(CLng(maximo), Sheets("Dinamicos").Range(Cells(45, W), Cells(46, W1)), 0)
但是我得到了2042错误。 在这一节即时我试图匹配百分比,如果我使用的代码
Set rango = Range(Cells(45, W), Cells(46, W1)) rango.Select maximo = WorksheetFunction.Max(rango) matching = WorksheetFunction.Match.Match(CLng(maximo), Sheets("Dinamicos").Range(Cells(45, W), Cells(46, W1)), 0)
我得到运行时错误1004无法获取WorksheetFunction的匹配属性
CLng
转换为一个长整数本质上是斩断任何小数。 使用CDbl
转换为一个双。
dim maximo as double, matching as variant with worksheets("sheet1") maximo = WorksheetFunction.Max(.Range(.Cells(45, W), Cells(.46, W1))) end with with worksheets("Dinamicos") matching = Application.Match(CDbl(maximo), .Range(.Cells(45, W), .Cells(46, W)), 0) if not iserror(matching) then 'found a match in W; do something debug.print "found in W" else matching = Application.Match(CDbl(maximo), .Range(.Cells(45, W1), .Cells(46, W1)), 0) if not iserror(matching) then 'found a match in W1; do something debug.print "found in W1" end if end if end with
你也在Sheets("Dinamicos").Range(Cells(45, W), Cells(46, W1))
留下了一些悬挂的单元格引用Sheets("Dinamicos").Range(Cells(45, W), Cells(46, W1))
我试图将上面的Sheets("Dinamicos").Range(Cells(45, W), Cells(46, W1))
拉紧。