Vba 显示一系列单元格

Vba 显示一系列单元格,vba,Vba,我在c18:z18范围内有不同的值 我可以通过以下方式找到此范围内的最大数量: Dim MX as double MX = worksheetfunction.max (sheets("sheet4").range ("c18:z18")) 我想复制三个单元格,刚好高于最大单元格mx,并将它们粘贴到sheet1中,然后将它们显示在消息框中 多谢各位 Dim MX as double, rng as range Set rng = sheets("sheet4").range ("c18:z1

我在c18:z18范围内有不同的值 我可以通过以下方式找到此范围内的最大数量:

Dim MX as double
MX = worksheetfunction.max (sheets("sheet4").range ("c18:z18"))
我想复制三个单元格,刚好高于最大单元格mx,并将它们粘贴到sheet1中,然后将它们显示在消息框中

多谢各位

Dim MX as double, rng as range

Set rng = sheets("sheet4").range ("c18:z18")
MX = worksheetfunction.max (sheets("sheet4").range ("c18:z18"))

'where is the max value ?
Debug.Print rng.cells(application.match(MX, rng, 0)).address
要获取上述3个单元格:

Debug.Print rng.Cells(Application.Match(MX,rng,False)).Offset(-3).Resize(3).Address
如果删除.Address,则可以选择它,但通常会避免这样做

rng.Cells(Application.Match(MX,rng,False)).Offset(-3).Resize(3).Select

等等。

到目前为止你都试过什么?您当前提供给我们的代码没有尝试执行您描述的任何操作,它只是找到最大值。尝试对范围使用.Find方法,然后使用.Offset可以得到它上面的3个单元格…cells.Find what:=MX,after:=activecell,lookin:=xp value,lookat:=xlother,searchorder:=xlbycol‌​umns,搜索方向:=xln‌​ext,matchcase:=false,searchformat:=false‌​.activateabove命令不起作用。我想激活最大值的单元格,然后向上移动以选择上面的单元格。但是我无法做到。谢谢,我编写了以下代码,但它不起作用。find wha:=MX,after:=activecell,lookin:=xp values,lookat:=xlother,searchorder:=xlbycolumns,searchdirection:=xlnext,matchcase:=false,searchformat:=false。activatewha不是find的参数名。您是否尝试了我上面发布的方法?是的,但调试不起作用运行代码时会发生什么-您是否遇到错误?