Board logo

標題: [發問] 表單按鈕連續執行 [打印本頁]

作者: roy1221    時間: 2012-7-24 17:08     標題: 表單按鈕連續執行

我在表單按鈕中設定巨集
希望在滑鼠點擊按鈕未放開滑鼠時可以連續執行巨集直至開放滑鼠,請問要如何設定?
  1. Sub Left()
  2. shift = Range("A7").Value
  3.     ActiveSheet.Shapes("Group 2").Select
  4.     Selection.ShapeRange.IncrementLeft -shift * 75
  5. End Sub
複製代碼

作者: GBKEE    時間: 2012-8-25 15:57

本帖最後由 GBKEE 於 2012-8-25 15:59 編輯

回復 1# roy1221
試試看
  1. Option Explicit
  2. Dim Left_Msg As Boolean                 '表單私用變數
  3. Private Sub CommandButton1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  4.     'CommandButton1 按下按鈕 的觸發事件程序
  5.     Left_Msg = True
  6.     Sub_Left
  7. End Sub
  8. Private Sub CommandButton1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  9.     'CommandButton1 離開按鈕 的觸發事件程序
  10.     Left_Msg = False                    'Left_Msg = False 停止迴圈執行下去
  11. End Sub
  12. Private Sub Sub_Left()                  'Left 是vba內建關鍵字,勿為變數,程序名稱
  13.     '按下按鈕 要執行的程序
  14.     Dim Shift As Integer
  15.     Shift = Range("A7").Value
  16.     ActiveSheet.Shapes("Group 2").Select
  17.     Do While Left_Msg                   'Left_Msg = True 迴圈執行下去
  18.         DoEvents
  19.         Application.StatusBar = Time    '狀態列中顯示時間   說明程序在執行中
  20.         Selection.ShapeRange.IncrementLeft -Shift * 75
  21.     Loop
  22.     ActiveCell.Activate
  23. End Sub
複製代碼





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