2013-02-18 103 views
2

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

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

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

感谢

回答

8

试试这个代码:

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

这很好,谢谢! – Beez 2013-02-18 18:36:43

+0

工作正确我想要什么,谢谢 – banny 2014-11-06 12:24:49

1

注意,如果没有找到匹配它会返回一个错误;试试这个来解决这个问题。

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

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

WorksheetFunction.Match Method (Excel)