返回列表 上一主題 發帖

執行程式會改變儲存格格式中鎖定的問題

執行程式會改變儲存格格式中鎖定的問題

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))"會反白,請問版上大大為什麼會這樣??要如何修改呢?

        靜思自在 : 一個人的快樂.不是因為他擁有得多,而是因為他計較得少。
返回列表 上一主題