簡體   English   中英

使用Excel表和VBA在動態列的每一行中循環

[英]Loop through each row in dynamic column using Excel Tables and VBA

我試圖遍歷垂直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_QUESTIONS[name]].Rows

我希望能夠做這樣的事情:

["tbl_" & tblName & "[" & colName & "]]".Rows

但這似乎不起作用...是否有更簡單的方法使用VBA來引用它? 我覺得必須要有一種方法可以從[“ tbl_”&tblName]中創建ListObject,但是我無法在ListObject或ListObject.Rows中引用'colName'。

任何幫助,將不勝感激。

哦,我想盡可能與Excel 2007 VBA兼容。

干杯!

我偶然發現了這個鏈接 ,它似乎可以解決問題。

看起來我可以使用以下內容創建范圍:

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

我仍然希望看到一種保留ListObject而不是定義范圍的方法,但是在沒有其他選擇之前,我將繼續進行此操作。

您可能現在已經知道了,但是由於問題沒有答案...

使用LisObjects集合選擇一個listObject並將其作為參數傳遞給您的函數/子對象

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM