4

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

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

它告诉我它需要一个“列表分隔符或)”。我如何使它工作?

谢谢

4

2 回答 2

11

试试这个代码:

Dim colNum As Integer
'sheetName is a String
colNum = WorksheetFunction.Match("ID", ActiveWorkbook.Sheets(sheetname).Range("1:1"), 0)
于 2013-02-18T18:26:19.757 回答
3

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

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

这会尝试匹配,如果函数出现错误,它将不会分配结果。

WorksheetFunction.Match 方法 (Excel)

于 2014-02-20T05:20:17.000 回答