给定一个string时自动填充增量

我已经在四处搜寻了很长一段时间了。

我想要做的,基本上是一个自动填充,只有当它在列F上find“02:00”值时才会增加

1 00:15 1 00:45 1 01:00 1 01:15 1 01:30 1 01:45 1 02:00 - 2 00:15 2 00:45 2 01:00 2 01:15 2 01:30 2 01:45 2 02:00 - 3 00:15 3 00:45 3 01:00 3 01:15 3 01:30 3 01:45 3 02:00 

我所做的代码几乎是正确的,但最终总是用迭代器的最后一个值填充列。

  'Days :D i = 0 For Each c In Range("F57:F77") For Each x In Range("E57:F77") x.Value = i If c.Value = "02:00 " Then i = i + 1 If i >= 4 Then 'Exits when overlap Exit Sub End If Debug.Print i End If Next Next 

您是否考虑过使用像COUNTIF这样的本地工作表函数来进行批量操作?

 With Worksheets("Sheet7") With .Range("F57", .Cells(Rows.Count, "F").End(xlUp)) .Offset(0, -1).Formula = "=COUNTIF(F$57:F57, ""02:00"")+1" .Cells = .Value End With End With 

怎么样:

 Sub qwerty() Dim x As Long, r As Range x = 1 For Each r In Range("F57:F77") r.Offset(0, -1).Value = x If r.Text = "02:00" Then x = x + 1 Next r End Sub 

在这里输入图像说明