以下代码不会将选择的地址存储在变量sek中,即使sek被声明为范围也是如此。它取的是所选单元格的值。我需要将单元格的地址存储为范围而不是字符串。
Range(zro(fm)).Select
Set sek = Selection
我试过
set sek=Cells(application.address)
无法获得解决方案。 我这样写了
For fm = 1 To tmp
Range(zro(fm)).Select
Dim sek As Range: Set sek = Selection
Range(zro(fm + 1)).Select
Dim sel As Range: Set sel = Selection
Sheets("extract").Cells((5 * a) + 1, fm).Value = Application.WorksheetFunction.max(Range("sek:sel"))
Sheets("extract").Cells((5 * a) + 2, fm).Value = Application.WorksheetFunction.Min(Range("sek:sel"))
Next
答案 0 :(得分:1)
您需要的是
Application.WorksheetFunction.Max(Range(sek.Address & ":" & sel.Address))
这将结合范围。
此外,您无需激活范围即可进行分配。你可以替换
Range(zro(fm)).Select
Set sek = Selection
带
Set sek = Range(zro(fm))
答案 1 :(得分:0)
希望这有帮助。
For fm = 1 To tmp
Range(zro(fm)).Select
Dim sek As Range: Set sek = Selection
Range(zro(fm + 1)).Select
Dim sel As Range: Set sel = Selection
Sheets("extract").Cells((5 * a) + 1, fm).Value = Application.WorksheetFunction.max(Range(sek,sel))
Sheets("extract").Cells((5 * a) + 2, fm).Value = Application.WorksheetFunction.Min(Range(sek,sel))
Next