[問題] MsgBox 出現時如何不中斷其他操作

看板Office作者 (Jtin 介)時間9年前 (2016/10/14 11:10), 9年前編輯推噓0(0037)
留言37則, 2人參與, 最新討論串1/1
(若是和其他不同軟體互動之問題 請記得一併填寫) 軟體:Office 2007 版本:Excel 2007 每次當Msgbox出現時 都會中斷後續的動作 有什麼辦法可以讓其他動作持續運行 而不會因為Msgbox的出現而有所中斷呢? 另外想請問有何方法可以鎖定combobox不讓人更改 比方說按完按鈕之後 combobox 就不可再變動 一定要再按一次按鈕解鎖才可以變更 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.138.28 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1476414628.A.8D4.html ※ 編輯: winnina1 (111.251.138.28), 10/14/2016 11:18:55

10/14 15:01, , 1F
我查到的是 ToolTip
10/14 15:01, 1F

10/14 15:01, , 2F
要改用 ToolTip
10/14 15:01, 2F

10/14 15:02, , 3F
但扯的是 網路上 有一票人 是停不下來
10/14 15:02, 3F

10/14 15:02, , 4F
有一部分是 不想停下來
10/14 15:02, 4F

10/14 15:02, , 5F
好像跟預設有關
10/14 15:02, 5F

10/14 15:34, , 6F
另外 有一個迷思
10/14 15:34, 6F

10/14 15:35, , 7F
假設是屬於 不用選擇 就能繼續跑的程式
10/14 15:35, 7F

10/14 15:35, , 8F
通常msgbox 也只是顯示你想看到的訊息
10/14 15:35, 8F

10/14 15:35, , 9F
如果資料量龐大
10/14 15:35, 9F

10/14 15:36, , 10F
反而改建議 把顯示的數據 貼上到新的工作表更好
10/14 15:36, 10F

10/14 15:36, , 11F
一來 你有紀錄方便存查
10/14 15:36, 11F

10/14 15:37, , 12F
二來 還可以順便傳輸 你要的位置或標題
10/14 15:37, 12F

10/14 16:01, , 13F
Visual_Basic 板 搜尋/msgbox /停
10/14 16:01, 13F

10/16 12:10, , 14F
但Msgbox 有時是需要選取 確認或者取消 確認需要跑其他
10/16 12:10, 14F

10/16 12:11, , 15F
動作
10/16 12:11, 15F

10/16 21:20, , 16F
ComboBox1.Enabled = False
10/16 21:20, 16F

10/16 21:20, , 17F
譬如
10/16 21:20, 17F

10/16 21:21, , 18F
Private Sub CheckBox1_Click()
10/16 21:21, 18F

10/16 21:21, , 19F
If CheckBox1 = True Then
10/16 21:21, 19F

10/16 21:21, , 20F
ComboBox1.Enabled = False
10/16 21:21, 20F

10/16 21:22, , 21F
Exit Sub <---記得這行最重要=,=
10/16 21:22, 21F

10/16 21:22, , 22F
End If
10/16 21:22, 22F

10/16 21:22, , 23F
CheckBox1.Enabled = True
10/16 21:22, 23F

10/16 21:22, , 24F
end sub
10/16 21:22, 24F

10/16 21:22, , 25F
我當初沒打exit sub 結果他關了又被打開
10/16 21:22, 25F

10/18 12:44, , 26F
感謝waiter337大大
10/18 12:44, 26F

10/19 03:08, , 27F
或者後面要繼續算下去
10/19 03:08, 27F

10/19 03:08, , 28F
Private Sub CheckBox1_Click()
10/19 03:08, 28F

10/19 03:08, , 29F
If CheckBox1 = True Then
10/19 03:08, 29F

10/19 03:08, , 30F
ComboBox1.Enabled = False
10/19 03:08, 30F

10/19 03:09, , 31F
elseIf CheckBox1 <> True Then
10/19 03:09, 31F

10/19 03:09, , 32F
CheckBox1.Enabled = True
10/19 03:09, 32F

10/19 03:09, , 33F
End If
10/19 03:09, 33F

10/19 03:09, , 34F
end sub
10/19 03:09, 34F

10/19 03:11, , 35F
回winnina1 那當然得停止了 因為你的特別動作 都會影
10/19 03:11, 35F

10/19 03:11, , 36F
影響到後面的程式碼
10/19 03:11, 36F

10/19 03:12, , 37F
你的每一個動作 後面都可能設有變數 都會影響變數
10/19 03:12, 37F
文章代碼(AID): #1O04oaZK (Office)
文章代碼(AID): #1O04oaZK (Office)