特定列中的匹配函数 Excel VBA
Match Function in Specific Column Excel VBA
我正在尝试在 VBA 中为 Excel 2011 编写一个程序,该程序可以搜索数字 1 的列(由另一个变量确定的列),以便它知道从哪里开始迭代。
假设列数由colnumvar
给出。我能想到的唯一方法是 Match 函数,这导致我写了以下内容:
Dim rowvar As Integer
rowvar = WorksheetFunction.Match(1,Range(Cells(1,colnumvar),Cells(1000,colnumvar)),0)
然而,这给了我一个错误。玩了一会儿之后,我意识到它一定不能接受 Cells([row],[col])
的方式,而是想要 Range("A1:A100")
之类的东西。不幸的是,我不能那样做,因为程序正在确定要查看的列。非常感谢任何帮助找出如何克服这个问题的帮助!
Range.Find
可以更好地满足您的要求。
Dim rngtrg As Range, rngsrc As Range
Dim ws As Worksheet
Set ws = ActiveSheet
Set rngsrc = ws.Range(ws.Cells(1,colnumvar),ws.Cells(1000,colnumvar))
Set rngtrg = rngsrc.Find(1,...)
rowvar = rngtrg.Row
这个简单的函数检索您找到的位置
Function rowvar(ByRef c As Integer) As Integer
Dim keySrc As Integer
keySrc = 22 'wath you want to find
rowvar = WorksheetFunction.Match(keySrc, Range(Cells(1, c), Cells(1000, c)), 0)
End Function
与 rowvar(x) 一起使用
我正在尝试在 VBA 中为 Excel 2011 编写一个程序,该程序可以搜索数字 1 的列(由另一个变量确定的列),以便它知道从哪里开始迭代。
假设列数由colnumvar
给出。我能想到的唯一方法是 Match 函数,这导致我写了以下内容:
Dim rowvar As Integer
rowvar = WorksheetFunction.Match(1,Range(Cells(1,colnumvar),Cells(1000,colnumvar)),0)
然而,这给了我一个错误。玩了一会儿之后,我意识到它一定不能接受 Cells([row],[col])
的方式,而是想要 Range("A1:A100")
之类的东西。不幸的是,我不能那样做,因为程序正在确定要查看的列。非常感谢任何帮助找出如何克服这个问题的帮助!
Range.Find
可以更好地满足您的要求。
Dim rngtrg As Range, rngsrc As Range
Dim ws As Worksheet
Set ws = ActiveSheet
Set rngsrc = ws.Range(ws.Cells(1,colnumvar),ws.Cells(1000,colnumvar))
Set rngtrg = rngsrc.Find(1,...)
rowvar = rngtrg.Row
这个简单的函数检索您找到的位置
Function rowvar(ByRef c As Integer) As Integer
Dim keySrc As Integer
keySrc = 22 'wath you want to find
rowvar = WorksheetFunction.Match(keySrc, Range(Cells(1, c), Cells(1000, c)), 0)
End Function
与 rowvar(x) 一起使用