Board logo

標題: 請問撰寫判斷式,之後跳出警告視窗。 [打印本頁]

作者: tku0216    時間: 2011-11-17 09:51     標題: 請問撰寫判斷式,之後跳出警告視窗。

各位大大好,
    我有一個3*4的表格,每格都是數字,這些數字會依照使用者的填寫而累加,我要在VBA裡寫程式讓他在大於某個數字的時候,跳出樹窗說已經達到預定數字。
我有想過用if then來寫,但這樣我要寫12次,以下請教兩個問題:
1.我發現當我某一格到達預定數字時,警告視窗會跳出,但之後他就一直跳出了。
2.是否可以用迴圈來簡化寫12次的過程?

謝謝。
作者: oobird    時間: 2011-11-17 10:18

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a1:d3]) Is Nothing Then
If Target > 100 Then MsgBox "超過了"
End If
End Sub
作者: tku0216    時間: 2011-11-17 11:22

多謝版主回覆,
想附帶詢問一個問題:就是我看各位的程式寫法,都是以“Private Sub Worksheet_Change(ByVal Target As Range)”開頭,這是不是一個固定用法?因為我目前只有用到添加一個按鈕,所以我都是用“Private Sub CommandButton1_Click()”當開頭。

還有請問這段程式碼“If Not Intersect(Target, [j18:l18]) Is Nothing Then”所代表的意義,謝謝。
作者: GBKEE    時間: 2011-11-17 11:38

本帖最後由 GBKEE 於 2011-11-17 11:46 編輯

回復 3# tku0216
Private Sub CommandButton1_Click()”  按下物件的事件  工作表控制工具箱 , vba  表單.

Private Sub Ex()      Private  (模組: 私用)   不顯示在 指令->巨集 視窗中   
在這模組的程序中  可直接 Ex 來乎叫 ,  其他模組需用  Run "Sheet1.Ex"  來呼叫

Intersect 方法 傳回 Range 物件  :  代表兩個或多個範圍重疊的矩形範圍  
If Not Intersect(Target, [j18:l18]) Is Nothing Then  
Not ???    Nothing   物件不存在
作者: tku0216    時間: 2011-11-18 09:20

感謝版主們的回覆,一次比一次清楚了。




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