Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Excel表格和VBA循环浏览动态列中的每一行_Vba_Excel_Listobject - Fatal编程技术网

使用Excel表格和VBA循环浏览动态列中的每一行

使用Excel表格和VBA循环浏览动态列中的每一行,vba,excel,listobject,Vba,Excel,Listobject,我试图循环遍历垂直Excel表中的各种元素,并使用VBA将它们传递到水平表。垂直表是一个表单,包含问题名称、标签、值的列表,水平表将包含使用垂直表中问题名称的列 代码如下所示: Dim row As Range Dim rowCount As Integer: rowCount = 1 For Each row In [tbl_QUESTIONS[name]].Rows Sheets(ANSWERS).Cells(r,rowCount).Value = row.Value rowCoun

我试图循环遍历垂直Excel表中的各种元素,并使用VBA将它们传递到水平表。垂直表是一个表单,包含问题名称、标签、值的列表,水平表将包含使用垂直表中问题名称的列

代码如下所示:

Dim row As Range
Dim rowCount As Integer: rowCount = 1
For Each row In [tbl_QUESTIONS[name]].Rows
  Sheets(ANSWERS).Cells(r,rowCount).Value = row.Value
  rowCount = rowCount + 1
Next
["tbl_" & tblName & "[" & colName & "]]".Rows
我的问题是,如何修改表引用和列引用,使它们是动态的

[tbl_QUESTIONS[name]].Rows
我希望能够做到以下几点:

Dim row As Range
Dim rowCount As Integer: rowCount = 1
For Each row In [tbl_QUESTIONS[name]].Rows
  Sheets(ANSWERS).Cells(r,rowCount).Value = row.Value
  rowCount = rowCount + 1
Next
["tbl_" & tblName & "[" & colName & "]]".Rows
但这似乎不起作用。。。是否有一种更简单的方法使用VBA引用它?我觉得必须有一种方法可以用[tbl_&tblName]创建ListObject,但我无法在ListObject或ListObject.Rows中引用'colName'

任何帮助都将不胜感激

哦,如果可能的话,我想让它与Excel2007VBA兼容

干杯

我偶然发现了它,它似乎起到了作用

看起来我可以使用以下方法创建一个范围:

Dim TBL As Range
Set TBL = Range("tbl_" & tblName & "[" & colName & "]")

我仍然希望看到一种保留ListObject的方法,而不是定义一个范围,但在我有其他选择之前,我会一直这样做。

您现在可能已经知道了这一点,但因为这个问题没有答案

使用LisObjects集合选择listObject并将其作为参数传递给函数/子函数