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

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

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

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

谢谢

试试这个代码:

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

请注意,如果找不到匹配,它将返回一个错误; 试试这个来处理。

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

这将尝试匹配,如果在函数上有错误,它将不会分配结果。

WorksheetFunction.Match方法(Excel)