我有这个范围,它选择该列中的所有值:
Set c = ThisWorkbook.Worksheets("SplitSkillInterv").Range("C3:C" & Rows.Count)
现在我需要让它找到一些值然后它的行(它可能是1或10+,所以我需要找到第一个)任何想法?
我需要找到例如:范围c值从1到10并随机重复直到总共100行。我并且让我说我需要找到第一次在范围和它的行中的数字3。
答案 0 :(得分:0)
这个问题对我来说有点不清楚,但他们理解这一点,如果你用想要找到的值替换'Something',你会得到第一行的行号和你要找的值。
i = 3
ValueToFind = 'Something'
Do Until ValueToFind = ThisWorkbook.Worksheets("SplitSkillInterv").Cells(i, 3).Value
i = i + 1
Loop
FirstRowWithValue = i
答案 1 :(得分:0)
我还有点不清楚你在问什么,但使用Find
可能会为你解决问题:
With ThisWorkbook.Worksheets("SplitSkillInterv")
Set Rng = .Range("C3:C" & RowCount).Find(What:=".", LookIn:=xlValues, lookat:=xlPart, _
MatchCase:=False) 'find the first "." in the first row
While Not Rng Is Nothing
'Your stuff here
Set Rng = .Range("C3:C" & RowCount).Find(What:=".", LookIn:=xlValues, _
lookat:=xlPart, MatchCase:=False) 'find the next "."
Wend
End With
我会在输入此代码段之前定义RowCount
。将What:="."
替换为您正在寻找的任何内容。
Rng
将成为包含您正在搜索的内容的单元格。您可以在'Your stuff here
处对该单元格执行操作,然后下一行将查找下一次搜索项目。如果您只需要对第一项执行某些操作,请在Set Rng = ...