思路:
1、双循环遍历数组;
2、
instr函数查找,找到就用
goto语句跳出循环到100;
3、100处重新判断是否找到并输出结果。
Sub 查找数据列数()
Dim Arr, MyCz$, i%, j%
MyCz = "C19"
Arr = [{"A1","B2","C3","D4";"A5","B6","C7","D8";"A9","B10","C11","D12";"A13","B14","C15","D16";"A17","B18","C19","D20"}]
For i = LBound(Arr, 2) To UBound(Arr, 2)
For j = LBound(Arr) To UBound(Arr)
If InStr(Arr(j, i), MyCz) > 0 Then
GoTo 100
End If
Next
Next
100:
If i = UBound(Arr, 2) + 1 Then
MsgBox "查无此值"
Else
MsgBox MyCz & "在数组Arr的第" & i & "列"
End If
erase arr
End Sub
追问在Excel中怎么用 我不太懂哦
追答弄了个自定义函数myfindcol,第一个参数为要查找的值,第二个参数为查找区域,如下图,详见附件。
=myfindcol("D9",B:E)

追问先谢谢您,自定义函数代码是啥,麻烦再说下?
追答就是用VBA代码定义一个适合自己用的函数
http://rsue.blog.163.com/blog/static/206850106201291295055243/