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

时间:2016-06-06 16:06:25

标签: vba excel-vba range max excel

我正在尝试在多个单元格中找到最大值,并将该值复制到另一个单元格中。我很感激,如果你能帮助我,因为我已经尝试了很多东西而且没有一个能够帮助我。

这是我的代码:

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

我有两个问题:

  1. 每当我运行它时,程序会说: enter image description here
  2. 并在此处突出显示范围

    ROIrange = Range("E"...
    

    (故障排除我不能工作 - 随意跳过)

    在我尝试解决这个问题时,我将范围函数中的值的数量从7更改为2.此更改允许程序进一步进展但最终选择的框不是我想要的,因为涉及选择我不想评估的其他细胞。

    然而,即使这个程序也遇到了问题 - 我认为这可能是因为第一行是完全空的(正如我正在使用的数据集一样,这是不可避免的)

    但是,我把它更改为以i = 2开头,它引用了碰巧有数据的行。这只是导致了这个错误:

    enter image description here

1 个答案:

答案 0 :(得分: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)) 

将单元格范围放在一起作为单个字符串。