B hücresi formülle hesaplanan bir hücre demişsiniz öyleyse b hücresi değeri elle girelen bir yerden alıyor olmalı buna göre değişken hücreye atarsanız kodu işlem sorunsuz çalışacaktır.
Basit bir örnek daha ekliyorum burada işlem c hücresinin değerinin elle girildiği ve b hücresinin değerini değiştirdiği düşünülerek a hücresine tarih ataması yapılmıştır. Ayrıca işlem yapılan c hücresi içeriği silindiğinde a hücresindeki ilgili hücreden tarih de silinecektir.
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo son
If Intersect(Target, [c:c]) Is Nothing Then Exit Sub
If Target.Value = "" Then
Target.Offset(0, -2) = ""
Else
Target.Offset(0, -2).Value = Now
End If
son:
End Sub