Excel VBA将参数添加到最大范围

我有以下VBA工作正常

Worksheets(d).Cells(x, 5).Value = Application.WorksheetFunction.Max(Range("Data!E3:E7")) 

这个方法应该嵌套在一个FOR函数中,比如

  For i = 3 To j Worksheets(d).Cells(x, 5).Value = Application.WorksheetFunction.Max(Range("Data!E3:E5")) x = x + 1 Next 

我如何根据i含义parsingE3E7为参数

 E3 = "E" + i E5 = "E" + i + 2 

我正在尝试的完整示例:

  For i = 3 To j Worksheets(d).Cells(x, 5).Value = Application.WorksheetFunction.Max(Range("Data!E" + i + ":E" + i+2 +")) x = x + 1 Next 

尝试

 Sheets("Data").Range("E" & i & ":E" & (i + 2)) 

在将各种types的数据组合成一个string时,+比+更好。 另外 – RangeWorkSheet一个孩子 – 所以你需要通过适当的Sheet对象

请注意,您可以直接执行此操作,而无需循环

如公式

 Worksheets(d).Cells(x, 5).Resize(J - 3 + 1, 1).FormulaR1C1 = "=MAX(Data!R[1]C5:R[" & J - 3 + 1 & "]C5)" 

作为价值

 Worksheets(d).Cells(x, 5).Resize(J - 3 + 1, 1).Value = "=MAX(Data!R[1]C5:R[" & J - 3 + 1 & "]C5)"