你可以在excel中使用迭代計算選項,但我不是一個很大的粉絲,對我來說這個任務似乎很適合使用Worksheet_change事件處理程序。
嘗試在工作表中的代碼中插入這樣的代碼 - 而不是標準模塊(所以右鍵單擊工作表名稱選項卡上 - >顯示的代碼):
Private Sub Worksheet_Change(ByVal Target As Range)
Dim mycell As Range
If Not Intersect(Target, Columns(2)) Is Nothing Then
For Each mycell In Intersect(Target, Columns(2))
If mycell.Value = mycell.Offset(0, -1).Value Then
mycell.Offset(0, 1).Value = mycell.Offset(0, 1).Value + 1
Else
mycell.Offset(0, 1).Value = 0
mycell.Offset(0, -1).Value = mycell.Value
End If
Next mycell
End If
End Sub
切記妥善保存您的工作簿中像包含宏的格式xlsm或xls 上面的代碼用於列A和B(先前和當前)中的數據和C中的計數器。現實生活中不使用列(2),最好使用Range(「B2:B10」)或類似的(它在上面的代碼中出現兩次)。
請編輯您的問題以準確描述問題與您的代碼是什麼:期望的行爲,特定的問題或錯誤以及在問題本身中重現問題所需的最短代碼。請參閱:[如何創建最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 – 2015-04-02 11:11:48
您忘記發佈問題。 – 2015-04-02 11:21:20