将活动单元格地址保存在变量中 vba

save active cell address in a variable vba

以下代码没有将选择的地址存储在变量 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

你需要的是

Application.WorksheetFunction.Max(Range(sek.Address & ":" & sel.Address))

这将合并范围。

此外,您无需激活范围即可分配它。你可以替换

Range(zro(fm)).Select
Set sek = Selection

Set sek = Range(zro(fm))

希望对您有所帮助。

 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