[英]save active cell address in a variable vba
即使将sek声明为range,以下代码也不会将选择的地址存储在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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.