我试图创建一个用户定义的函数来计算A列中已用单元格的数量,然后将其乘以10。
不幸的是,UDF是一种与我通常放在一起的宏完全不同的编码野兽。
Function UsedCells() As Long
n = Worksheets("Marginal").Range("A:A").Cells.SpecialCells(xlCellTypeConstants).Count
y = n * 10
End Function
这不起作用 - 有人提供帮助吗?谢谢!
编辑编辑 此代码最终基于圣诞节'代码:
Function UsedCells(Col As String) As Long
n = Range("A" & Rows.Count).End(xlUp).Row
UsedCells = n * 10
End Function
答案 0 :(得分:2)
公式是变量。因此,将函数名称(UsedCells)=设置为结果:
UsedCells = n * 10
编辑:请注意,如果在col A中使用更多单元格,则不会重新计算。要使其动态计算,请使用:
Function UsedCells(Col As String) As Long
n = Worksheets("Marginal").Range(Col & ":" & Col).Cells.SpecialCells(xlCellTypeConstants).Count
UsedCells = n * 10
End Function
然后在工作表的任何给定单元格中,放置forumla =UsedCells("x")
,其中x是要检查的列的字母。
工作解决方案:
Function UsedCells(Col As String) As Long
UsedCells = Sheets("Marginal").Range(Col & Rows.Count).End(xlUp).Row * 10
End Function