2015-12-16 55 views
0

我已經在四處搜尋了很長一段時間並嘗試着。給定一個字符串時自動填充增量

我想要做什麼,基本上是一個自動填充,只有增加時,它在列認定的「02:00」一個值F

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 
+0

你是指「迭代器的最後一個值」是什麼意思? – blckbird

+0

不應該x.Value =我會在if後c.value = ...? –

回答

0

如何:

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 

enter image description here

+0

邑只是我在找的東西,我有點意識,但沒有技能設置。 感謝您的幫助,我會upvote,但我不能。 ^^ – Eudes

+0

@Eudes那就是O.K.您的反饋是我需要的。 –

2

你有沒有使用像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