Excel VBA-将表列存储到范围变量中

Excel VBA-将表列存储到范围变量中,vba,excel,range,listobject,Vba,Excel,Range,Listobject,我目前正在试用excel VBAsListObjects,它是excel表格的对象类型。我想将表列范围存储到变量中 以下是我能做的: 'store a group of cells into a range variable dim rng as Range set rng = activesheet.Range("A1:A10") 'select a table column dim table as ListObject set table = activesheet.listobject

我目前正在试用excel VBAs
ListObjects
,它是excel表格的对象类型。我想将表列范围存储到变量中

以下是我能做的:

'store a group of cells into a range variable
dim rng as Range
set rng = activesheet.Range("A1:A10")

'select a table column
dim table as ListObject
set table = activesheet.listobjects("Table1")
table.ListColumns(1).Range.Select
虽然上述两种方法都有效,但我不明白为什么以下方法无效:(EDIT:it-works

我尝试了其他变量类型,例如
variant
ListColumn
,但是,没有任何东西将单元格存储到变量中。在上面的示例中,没有错误,但是变量
rng\u列
仍然保持
我知道还有其他的解决办法,但我真的想知道这里的问题是什么


更新 经过一些有益的评论后,我可以缩小问题的范围。一切正常。然而,我犯了两个错误

首先,变量名中有一个拼写错误。(我应该包括选项,以便更早地注意到这一点)

其次,我将范围变量传递给另一个范围变量,在执行此操作时,我忘记了包含
set
关键字


希望有人能从我的错误中吸取教训。

你的标题用词不当。从技术上讲,不能将任何数据存储到范围变量中

范围变量是指向一个单元格或一组单元格的引用(指针)。数据存储在范围变量指向的单元格中

如果需要存储范围中的数据,请将range.value指定给数组


如果要存储单个单元格中的数据,请将该值指定给一个“常规”(非对象)变量(字符串、整数、长…)

,该代码适用于我。桌子肯定在你想的地方吗
rng
在这里似乎不相关?它们对我有效,你得到了什么错误?请在末尾尝试这一行,看看它返回了什么
MsgBox rng_列(1)
。我没有收到错误,我尝试将
rng_列
变量粘贴到以下
工作表函数中。匹配(搜索,rng_列,0)
。这是一个错误,因为
rng\u列
为空。在调试模式下,它显示在变量Thankle@SJR上方,它可以工作。我想错误一定在别的地方。。
dim rng_column as Range
set rng_column = table.ListColumns(1).Range