使用= COLUMN函数从表中返回列号

时间:2018-07-10 14:48:19

标签: excel vba excel-vba

我在Excel中具有以下功能,该功能基于列标题返回表的列号。 该表称为Config,表列标题为value。下面将返回给我excel中的列号。

=COLUMN(Config[Value])-COLUMN(Config)+1

有人可以让我知道如何在VBA中使用它吗? 我希望我可以使用...

Application.WorksheetFunction.Column

但是似乎Column不可用。

有人对此有任何想法吗? 任何帮助将不胜感激。

3 个答案:

答案 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.

此公式是动态的