你不一定需要VBA來執行此任務,一組簡單的嵌套函數假設你的數據在B2中開始,把它放在C2中,然後向下拖動以適應:
=IF(AND(B2=-1,B1=-1),IF(C1="",B2-0.5,C1-0.5),"")
但是,如果你真的需要使用VBA(假設相同範圍的數據):如果您想更新已在B列的值
Option Explicit
Public Sub CheckForDuplicates()
Dim varRow As Long
ThisWorkbook.Sheets("Sheet1").Range("C2:C" & ThisWorkbook.Sheets("Sheet1").Range("C65000").End(xlUp).Row).ClearContents
For varRow = 2 To ThisWorkbook.Sheets("Sheet1").Range("B65000").End(xlUp).Row
DoEvents
If ThisWorkbook.Sheets("Sheet1").Range("B" & varRow).Value = -1 And ThisWorkbook.Sheets("Sheet1").Range("B" & varRow - 1).Value = -1 Then
If ThisWorkbook.Sheets("Sheet1").Range("C" & varRow - 1).Value = "" Then
ThisWorkbook.Sheets("Sheet1").Range("C" & varRow).Value = ThisWorkbook.Sheets("Sheet1").Range("B" & varRow).Value - 0.5
Else
ThisWorkbook.Sheets("Sheet1").Range("C" & varRow).Value = ThisWorkbook.Sheets("Sheet1").Range("C" & varRow - 1).Value - 0.5
End If
End If
Next
End Sub
你到目前爲止嘗試過什麼?請閱讀:http://stackoverflow.com/help/how-to-ask – R3uK