Vba 在多个单元格中找到最大值,并将该值复制到另一个单元格中

Vba 在多个单元格中找到最大值,并将该值复制到另一个单元格中,vba,excel,range,max,Vba,Excel,Range,Max,我试图在多个单元格中找到最大值,并将该值复制到另一个单元格中。如果你能帮助我,我将不胜感激,因为我尝试了很多东西,但都没有成功 这是我的密码: Dim ROIrange As Range Dim ROImax As Integer For i = 1 To 30 ROIrange = Range("E" & (i + 4), "H" & (i + 4), "K" & (i + 4), "N" & (i + 4), "Q" & (i + 4),

我试图在多个单元格中找到最大值,并将该值复制到另一个单元格中。如果你能帮助我,我将不胜感激,因为我尝试了很多东西,但都没有成功

这是我的密码:

Dim ROIrange As Range
Dim ROImax As Integer
For i = 1 To 30
      ROIrange = Range("E" & (i + 4), "H" & (i + 4), "K" & (i + 4), "N" & (i + 4), "Q" & (i + 4), "T" & (i + 4), "H" & (i + 4)).Select
      ROImax = Application.WorksheetFunction.Max(ROIrange)
      Range("B" & (i + 4)).Value = ROImax
      Next
我有两个问题:

每当我运行它时,程序都会说: 并在此突出显示范围:

我所做的故障排除不起作用-请随意跳过

为了解决这个问题,我将range函数中的值数从7改为2。此更改允许程序进一步进行,但它最终选择了一个我不想要的框,因为这涉及到我不想要计算的其他单元格的选择

然而,即使是这个程序也遇到了一个问题——我想这可能是因为第一行是完全空的,因为我正在处理的数据集有时会出现这种情况,这是不可避免的

但是,我将它改为以I=2开头,它引用了碰巧有数据的行。这只会导致以下错误:

请试试这个:

Set ROIrange = Range("E" & (i + 4) & ",H" & (i + 4) & ",K" & (i + 4) & ",N" & (i + 4) & ",Q" & (i + 4) & ",T" & (i + 4) & ",W" & (i + 4)) 
将单元格区域作为单个字符串放在一起。

请尝试以下操作:

Set ROIrange = Range("E" & (i + 4) & ",H" & (i + 4) & ",K" & (i + 4) & ",N" & (i + 4) & ",Q" & (i + 4) & ",T" & (i + 4) & ",W" & (i + 4)) 

将单元格区域作为一个字符串放在一起。

删除。从末尾选择。并在开头使用关键字Set:Set ROIrange=range&i+4、H&i+4、K&i+4、N&i+4、Q&i+4、T&i+4、H&i+4。你总是很乐于助人。我试试这个。我刚刚发现了一个我修正的错误。最后一个H应该是W。此外,我尝试了以下方法:设置ROI范围=范围E&I+4,H&I+4,K&I+4,N&I+4,Q&I+4,T&I+4,W&i+4和该行代码在程序中变为红色,并且它也不起作用:在开始处设置并删除。如ScottRemove所述从结尾处选择。从结尾处选择。并在开始处使用关键字Set:Set ROIrange=range e&i+4,H&i+4,K&i+4,N&i+4,Q&i+4,t&i+4,H&i+4 Hanks Scott。你总是很乐于助人。我试试这个。我刚刚发现了一个我修正的错误。最后一个H应该是W。另外,我试过这样做:设置ROIrange=Range&I+4,H&I+4,K&I+4,N&I+4,Q&I+4,T&I+4,W&I+4,并且该行代码在程序中变为红色,它也不起作用:在开始处设置并删除。如Scott所述从结尾处选择