我需要运行一个宏来修复excel表中的年份。 11月和1月左右的一年"是2010年,但我加上+ 1使其成为2011年。然后循环需要找到下一个" Nov_Jan"并做同样的2011 + 1 = 2012.为了停止循环,我知道我需要计算" Nov-Jan"的实例数量。并运行它作为多个实例。所以只有4" Nov-Jan",只运行循环4次。下面的代码在同一个单元格中运行循环,并且不会继续寻找下一个" Nov-Jan"。我无法弄清楚原因。我有一张图片显示我需要从"之前" - > "在"之后,我的代码来自"之前" - > "我拥有什么"。
Dim iCount As Integer
Dim i As Integer
i = 1
iCount = Application.WorksheetFunction.CountIf(Range("B:B"), "Nov - Jan")
Cells.Find(what:="Nov - Jan", after:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
Do Until i > iCount
i = i + 1
ActiveCell.Offset(0, -1).Select
ActiveCell.Value = ActiveCell.Value + 1
Cells.Find(what:="Nov - Jan", after:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
Loop
我需要从"之前" - > "在"之后,我的代码来自"之前" - > "我拥有什么"
答案 0 :(得分:3)
试试这个简单的代码:
KafkaUtils.createDirectStream
使用find方法时,它具有内置的下一个功能。它也可以分配到一个范围,然后可以操作它来完成所需的操作。
有关详细信息,请参阅HERE。
在您的代码中,您正在循环,但循环每次都会重置搜索,因此每次只查找第一个。