通过variables引用表格列
这应该很简单,但我是一个VBA noob。 我已经阅读了很多论坛,只find了一些我无法解读的代码,以致于不能适应我的应用程序。
在Excel 2007中我有一个表已经定义。 我不能张贴图片,因为我是新来的论坛,但该表有3列,标题行1到3,以及一个数据行粗略显示如下:
Table1 +------+------+-------+ |1 | 2 | 3 | +------+------+-------+ |Alpha |Bravo |Charlie| +------+------+-------+
有了这个简单的表格,下面的工作,并返回文字“阿尔法”。
Sub works() Dim item As String Sheets("Sheet1").Select item = ActiveSheet.Range("Table1[1]") MsgBox (item) End Sub
但是我希望能够引用带有可调variables的表格列标题。 为什么不工作:
Sub doesntwork() Dim item As String Dim i As String i = 1 Sheets("Sheet1").Select item = ActiveSheet.Range("Table1[i]") MsgBox (item) End Sub
这应该是一个语法的东西,但我没有运气sorting通过在过去10多年的VBA语法的各种迭代…
请帮忙! 谢谢。
如果你想引用一个结构化表格的标题,那么这将得到你对包含标题的范围的引用:
Dim rng as Range Set rng = Activesheet.Range("Table1[#Headers]")
…如果你想参考一个特定的标题的位置:
Dim rngHdr2 Set rngHdr2 = rng.Cells(2) '2nd header cell
您需要使用连接来将表名称构build为string:
item = ActiveSheet.Range("Table1[" & i & "]")
结合两个答案
Sub Demo()
Dim rng As Range Dim celda As Range Dim nroTabla As Integer Dim nroFila As Integer Dim nroCol As Integer nroTabla = 1 nroFila = 2 nroCol = 3 Set rng = ActiveSheet.Range("Tabla" & nroTabla & "[#Headers]") Set celda = rng.Cells(nroFila, nroCol) celda.Value = 700
结束小组