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,例如variant
或ListColumn
,但是没有任何东西将单元格存储到variables中。 在上面的例子中,没有错误,但variablesrng_column
仍然是<empty>
我知道还有其他的解决方法,但我真的想了解这里有什么问题。
更新经过一些有用的评论,我可以缩小问题的范围。 一切正常。 但是,我犯了两个错误。
首先,我在variables名称中有一个拼写错误。 (我应该包括选项明确注意到这一点)。
其次,我将范围variables传递给另一个范围variables,在这种情况下,我忘记了包含set
关键字。
希望有人能从我的错误中学习..
在标题中你有一个用词不当。 从技术上讲,你不能将任何数据存储到范围variables中。
范围variables是对单元或一组单元的引用(指针)。 数据被存储在范围variables指向的单元格中。
如果您需要存储范围内的数据,则将range.value分配给一个数组
如果要存储单个单元格的数据,则将该值分配给“常规”(非对象)variables(string,整数,长整数)