繁体   English   中英

按公式或UDF定义命名范围

[英]Defining Named Range by Formula or UDF

我想问一下您在Excel中定义命名范围的经验。

我通常使用这个公式:

=OFFSET(Sheet!$A$1;0;0;COUNTA(Sheet!$A:$A);COUNTA(DATA!$1:$1))

这适用于动态范围。 一旦向原始表添加行或列,它就会修改。 在这种情况下,一旦在表A或行1的表外输入某些数据,就会出现问题。

然后我想到了UDF中的Range("A1").CurrentRegion.Address将完成这项工作。 但是这个命令在UDF中很有用......因为它不适用于包含公式的单元格,我想。

是否有人使用更健壮的公式或UDF?

这样的东西可以工作,但取决于工作表上没有“干扰”内容:

' "rng" is the top-left corner of the table you want to return
Function FullTable(rng As Range) As Range
    Dim lastCol As Long, lastRow As Long

    With rng.Parent
        lastRow = .Cells(.Rows.Count, rng.Column).End(xlUp).Row
        lastCol = .Cells(rng.Row, .Columns.Count).End(xlToLeft).Column
        Set FullTable = .Range(rng, .Cells(lastRow, lastCol))
    End With

End Function

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM