返回列表 上一主題 發帖

[發問] 分頁B執行分頁A程式

[發問] 分頁B執行分頁A程式

想寫一個程式
利用第二頁程式 command button
來執行第一頁程式commandbutton

但都會出現 run time error "28" out of stack space
想請教各位先進是要怎麼修改?





test.zip (21.7 KB)
莫讓他人錯誤傷害自己

回復 5# lee88


    經過您的提醒
    仔細一看,可以呼叫的確實寫成public !
    我再好好研究看看 工作模組 跟 sheet名稱的差異
    萬分感謝!!!
莫讓他人錯誤傷害自己

TOP

本帖最後由 lee88 於 2022-5-8 14:16 編輯

回復 4# y54161212
即使我把sheet1的名稱改為 LSR
變成 "Run "sheet1.commandbutton1_click" 還是可以執行

名稱改為 LSR 應是改工作表的名稱
你不是改工作表物件的名稱,所以還是可以執行




Public Sub CommandButton5_Click()= Sub CommandButton5_Click()
Public  公用的程序 當然可以呼叫
**********************************************
如果  公用的程序 在一般模組中
可以不加上 一般模組的名稱 直接 呼叫 公用的程序

TOP

感謝您的即時回應
這也是我一直以來的問題

因為像其他的我也是照上述的寫法
卻又可以執行~


  ...
y54161212 發表於 2022-5-7 16:06



剛剛稍微測試了一下
Run "Sheet1.commandbutton1_click"
這一個指令
即使我把sheet1的名稱改為 LSR
變成 "Run "sheet1.commandbutton1_click" 還是可以執行

意思是只要開始就確認了嗎? 或者我可以在哪查到指引?
莫讓他人錯誤傷害自己

TOP

回復  y54161212
lee88 發表於 2022-5-7 15:09


感謝您的即時回應
這也是我一直以來的問題

因為像其他的我也是照上述的寫法
卻又可以執行~


   
莫讓他人錯誤傷害自己

TOP

回復 1# y54161212
  1. Private Sub CommandButton1_Click()  '<--** Sheet2 的程序**
  2. Dim sht As Worksheet, sht2 As Worksheet
  3. Dim i As Integer, j As Integer, k As Integer
  4. Set sht = Worksheets("Sheet1")
  5. Set sht2 = Worksheets("Sheet2")
  6. Application.Goto sht.Range("A1")
  7. '  CommandButton1_Click    <--  執行的是Sheet2 的程序
  8. '**   CommandButton1_Click  這是Sheet2 的程序
  9. '** 一直在 一直地再 重複執行Sheet2 的CommandButton1_Click 程序
  10. '** 錯誤碼 28 表堆疊空間不夠用了 *****
  11.   'Private Sub   表私用的程序要用   Run  來呼叫 執行的程序
  12.   Run "Sheet1.CommandButton1_Click" '**執行Sheet1 的程序**
  13. End Sub
複製代碼

TOP

        靜思自在 : 【時間無法遮擋】怕時間消逝,花了許多心血,想盡各式方法要遮擋時間,結果是:浪費了更多時間,且一無所成!
返回列表 上一主題