相交不给我的范围,但价值

我正在尝试使用下面的函数来提取某些variables的位置,以便在活动公式中的另一个工作表上引用,但有时候只需要该值。 如果它给我的范围,我可以使用相同的function。 相交的方法说,它给你一个范围,但在一个位置,它只是返回值。

Function TablePull(tableName As String, columnName As String) As Variant Dim testVar As Variant Dim lo As Excel.ListObject Dim ws As Excel.Worksheet Set ws = ThisWorkbook.Worksheets(ThisWorkbook.Sheets(strWorkingSheetName).Index - 1) Set lo = ws.ListObjects(tableName) TablePull = Application.Intersect(lo.ListRows(1).Range, lo.ListColumns(columnName).Range) End Function 

  1. 声明你的函数为Range而不是Variant

     Function TablePull(tableName As String, columnName As String) As Range 
  2. 使用Set来设置TablePull一个范围

     Set TablePull = Application.Intersect(lo.ListRows(1).Range, lo.ListColumns(columnName).Range) 

除非你真的需要,否则我build议不要使用VariantVariant是最差的select,在大多数情况下,比使用Variant有更好的解决scheme。 不过,在某些情况下,您需要使用变体