在Excel中按单元格值获取列号

时间:2013-02-18 18:15:25

标签: excel vba excel-vba

我正在尝试使用特定值获取第一行中单元格的列号。我正在使用的代码由于某种原因不起作用。

Dim colNum As Integer
'sheetName is a String
With ActiveWorkbook.Sheets(sheetName)
colNum = column(.Match("ID", 1:1, 0))

它告诉我它期待一个“列表分隔符或者”。我如何使它工作?

由于

2 个答案:

答案 0 :(得分:11)

试试这段代码:

Dim colNum As Integer
'sheetName is a String
colNum = WorksheetFunction.Match("ID", ActiveWorkbook.Sheets(sheetname).Range("1:1"), 0)

答案 1 :(得分:3)

请注意,如果未找到匹配项,则会返回错误;试试这个来处理它。

Dim Result As Variant
If Not VBA.IsError(Application.Match(...)) Then
    Result = Application.Match(...)
End If

这会尝试匹配,如果函数出错,则不会分配结果。

WorksheetFunction.Match Method (Excel)