Board logo

標題: [發問] A1的值若為"B",B1輸入數字後的值固定為負數 [打印本頁]

作者: owen06    時間: 2013-9-10 12:48     標題: A1的值若為"B",B1輸入數字後的值固定為負數

請教各位高手,我想要讓A1輸入"B"之後,則B1不論輸入任何數字,皆會變為負數
我用下列公式去試
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
For Each BS In [a1:a10]
If BS.Value = "B" Then
BS.Offset(0, 1) = BS.Offset(0, 1) * -1
End If
Next
Application.EnableEvents = True
End Sub
可是這樣的話,只要其他地方有更動,
原本是負數的值,就會因為*-1,又變成正數了。
因此想請問該怎麼修改,才能讓他一直保持為負數,謝謝~~~
作者: Kubi    時間: 2013-9-10 13:35

回復 1# owen06

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count <> 1 Then Exit Sub
    If Intersect([A1:A10], Target) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    If Target.Value = "B" Then Target.Offset(0, 1).Value = -1 * Abs(Target.Offset(0, 1).Value)
    Application.EnableEvents = True
End Sub
作者: owen06    時間: 2013-9-10 13:49

OH~YEAH!太棒了,完全ok,感謝Kubi大~




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)