Board logo

標題: 切換符合條件欄位時,能跳出訊息框警示 [打印本頁]

作者: chi830    時間: 2017-2-20 15:58     標題: 切換符合條件欄位時,能跳出訊息框警示

請教各位先進~

如附件的表示,若當我滑鼠點到D3  或是 D5時,且數字大於1百萬
可自動跳出"請先上呈董事長核准後,再申請"
目前只會用格式化,在其他欄位上表現
但應該怎麼設計 才能跳出訊息框呢?
謝謝先進們指導~~

[attach]26690[/attach]
作者: yen956    時間: 2017-2-20 18:51

回復 1# chi830
試試看!
  1. '放在"工作表1" 的vba, 屬"工作表1" 專用(Private), 不用再 with...
  2. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  3.     Dim mRng As Range
  4.     Set mRng = Union([D3], [D5])    '設定Trigger範圍為 [D3], [D5]
  5.     If Not Intersect(Target, mRng) Is Nothing Then
  6.         If [D3] >= 100000 Or [D5] >= 100000 Then
  7.              MsgBox Range("E3")
  8.         End If
  9.     End If
  10. End Sub
複製代碼

作者: chi830    時間: 2017-2-20 20:35

回復 2# yen956


   謝謝yen956先進~
   您的語法,的確有成功顯示訊息了~
   都怪我語意沒說清楚,D欄是一個輸入金額的欄位,所以最佳的顯示訊息觸發點
   應該在user keyin完數字後,只要超過1百萬,就會跳出訊息
   爾後,若當滑鼠再點到該欄位時,就如先進目前所寫,也會跳出訊息
   keyin完就顯示的這個動作,不知從何下手...?
作者: yen956    時間: 2017-2-21 13:56

回復 3# chi830
'剛剛才發現 [E3],[E5] 是公式, 請刪除
'又原來我的想法有點問題(請更正)
'又原來的數字是10萬,不是百萬(已更正)
'下列兩者並存 (SelectionChange 及 Change)請全部貼上
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = "$D$3" And [D3] >= 1000000 Then
        MsgBox "[D3]的金額超過1百萬,請依核決權限上呈董事長核准"
        Exit Sub
    End If
    If Target.Address = "$D$5" And [D5] >= 1000000 Then
        MsgBox "[D5]的金額超過1百萬,請依核決權限上呈董事長核准"
        Exit Sub
    End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$D$3" And [D3] >= 1000000 Then
        MsgBox "[D3]的金額超過1百萬,請依核決權限上呈董事長核准"
        Exit Sub
    End If
    If Target.Address = "$D$5" And [D5] >= 1000000 Then
        MsgBox "[D5]的金額超過1百萬,請依核決權限上呈董事長核准"
        Exit Sub
    End If
End Sub




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