我在Excel中具有以下功能,该功能基于列标题返回表的列号。 该表称为Config,表列标题为value。下面将返回给我excel中的列号。
=COLUMN(Config[Value])-COLUMN(Config)+1
有人可以让我知道如何在VBA中使用它吗? 我希望我可以使用...
Application.WorksheetFunction.Column
但是似乎Column
不可用。
有人对此有任何想法吗? 任何帮助将不胜感激。
答案 0 :(得分:3)
由于您正在使用表(ListObject
),因此可以通过其标题引用ListColumn
。如果需要列号,则可以使用ListColumn.Range.Column
-这样。
Option Explicit
Sub Test()
Dim lc As ListColumn
Dim col As Long
Set lc = Sheets("Sheet1").ListObjects("Table1").ListColumns("Data1")
col = lc.Range.Column
Debug.Print col
End Sub
答案 1 :(得分:0)
获取列的语法类似于
Worksheets("Sheet1").Range("B1").Column
获取单元格B1的列号。
如果您使用命名范围,这也将起作用:
Worksheets("Sheet1").Range("NameOfRange").Column
答案 2 :(得分:0)
我使用了一种简单得多的方法:
=COLUMNS(X[[#Headers],[A]:[B]])
Where:
X is the Table name
A is the name of the 1st column
B is the name of the column you need.
此公式是动态的