Excel VBA – 将表格列存储到范围variables中

我目前正在使用excel表格的对象types的excel VBAs ListObjects进行实验。 我想存储一个表列的范围到一个variables

这是我能做的事情:

 '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 

虽然上述两个工作,我不明白为什么以下不起作用:( 编辑:它的工作原理

 dim rng_column as Range set rng_column = table.ListColumns(1).Range 

我尝试过其他variablestypes,例如variantListColumn ,但是没有任何东西将单元格存储到variables中。 在上面的例子中,没有错误,但variablesrng_column仍然是<empty>我知道还有其他的解决方法,但我真的想了解这里有什么问题。


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

首先,我在variables名称中有一个拼写错误。 (我应该包括选项明确注意到这一点)。

其次,我将范围variables传递给另一个范围variables,在这种情况下,我忘记了包含set关键字。

希望有人能从我的错误中学习..

在标题中你有一个用词不当。 从技术上讲,你不能将任何数据存储到范围variables中。

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

如果您需要存储范围内的数据,则将range.value分配给一个数组

如果要存储单个单元格的数据,则将该值分配给“常规”(非对象)variables(string,整数,长整数)