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

时间:2015-02-08 12:47:08

标签: excel vba range

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

2 个答案:

答案 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