在Excel中通过单元格的值获取列号

4

我正在尝试获取第一行中具有特定值的单元格的列号。我使用的代码出了些问题。

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

它提示我需要一个“列表分隔符或)”。如何使它工作?感谢您。
2个回答

12

尝试使用这段代码:

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

工作正常,我想要的都有了,谢谢。 - banny

4
请注意,如果没有找到匹配项,它将返回一个错误;尝试使用以下方法来处理。
Dim Result As Variant
If Not VBA.IsError(Application.Match(...)) Then
    Result = Application.Match(...)
End If

如果函数执行中出现错误,Match 方法将不返回结果。

WorksheetFunction.Match 方法 (Excel)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接