2013-02-18 77 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)

相關問題