Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, [B5:B90000]) Is Nothing Then
Range("O" & Target.Row).Formula = "=IF(MOD(RC[-13],100)=0,R[-1]C,INT(RC[-13]/100))"
ElseIf Not Intersect(Target, [F5:F90000]) Is Nothing Then
Range("S" & Target.Row).Formula = "=IF(RC[-13]=1,IF(AND(RC[-14]>=RC[-15],R[-1]C[-14]<=R[-1]C[-16],R[1]C[-14]<=R[1]C[-16]),1,IF(AND(RC[-14]<=RC[-16],R[-1]C[-14]>=R[-1]C[-15],R[1]C[-14]>=R[1]C[-15]),-1,0)),0)"
End If
Application.EnableEvents = True
End Sub
請問版上大大,當我將目標(O欄)儲存格格式中的鎖定取消勾選,然後將活頁簿鎖起來後,執行上述程式碼,會出現資料無法寫入的狀況,然後我將活頁簿解開後,將儲存格格式打開,會發現鎖定的那個欄位被自動勾選了,如果我按偵錯則這欄→Range("O" & Target.Row).Formula = "=IF(MOD(RC[-13],100)=0,R[-1]C,INT(RC[-13]/100))"會反白,請問版上大大為什麼會這樣??要如何修改呢? |