【发布时间】:2017-03-20 21:16:46
【问题描述】:
下面在引用另一个单元格的单元格中输入的自定义函数不起作用。我不懂为什么。有人知道答案吗?
Public Function SpecialCellBroken(rng As Range)
Debug.Print rng.Worksheet.Cells.Address
Debug.Print rng.Worksheet.Cells.SpecialCells(xlCellTypeLastCell).Address
SpecialCellBroken = rng.Worksheet.Cells.SpecialCells(xlCellTypeLastCell).Address
End Function
在调试窗口中返回:
$1:$1048576
$1:$1048576
但是,以下 Sub 工作正常并返回最后一个单元格的地址:
Sub SpecialCellWorksFine()
Debug.Print Selection.Worksheet.Cells.Address
Debug.Print Selection.Worksheet.Cells.SpecialCells(xlCellTypeLastCell).Address
Selection.Worksheet.Cells.SpecialCells(xlCellTypeLastCell).Select
End Sub
在调试窗口中返回:
$1:$1048576
$J$21
使用Parent 从范围引用工作表也不起作用。
在参数rng 上尝试了ByVal。也没有效果好转。
任何建议这里有什么问题?谢谢。
【问题讨论】:
-
SpecialCells 在 UDF() 中不起作用。