Excel将范围传递给函数

时间:2011-12-29 01:38:01

标签: excel excel-vba vba

如何将一系列单元格传递给函数,以便您可以单独处理这些项目。因此,如何将一系列单元格传递给函数。

我正在尝试这样做,所以我可以使用以下方法

Function processNumbers(Var as Range) 

由此我不知道如何获得列表中的项目数并横向数组来编辑内容。是否有比上述更好的方式带入物品。

1 个答案:

答案 0 :(得分:2)

您所说的函数声明是正确的方法。

Function processNumbers(Var as Range) As Variant
    NumberOfCells = Var.Cells.Count
    NumberOfRows = Var.Rows.Count
    NumberOfColumns = Var.Columns.Count
    RangeAddress = Var.Address

    ' Iterate the range  (slow)
    For Each Cl in Var.Cells
        ' ...
    Next

    ' Get Values from range as an array
    Dim Dat as variant
    Dat = var

    ' Iterate array
    For rw = LBound(Dat,1) to UBound(Dat,1)
        For col = LBound(Dat,2) to UBound(Dat,2)
            ' reference Dat(rw,col)
        Next col
    Nest rw

    ' Put (modified) values back into range.  Note: won't work in a UDF
    Val = Dat
End Function