返回列表 上一主題 發帖

呼叫副程式,失敗

呼叫副程式,失敗

Dear All,

請問,當我加入   Call sub3(4) 這行指令前,動作很正常,但加入後,
發現sub1 有執行,sub2 卻沒有動作,就直接執行sub3了,不曉得哪裡出了問題。

謝謝∼

Sub File_Copy()

    Windows("table.csv").Activate
    Range("A1:f3000").Select
    Selection.Copy
    Windows("tablex.xlsm").Activate
    Sheets(1).Select
    Range("A1").Select
    ActiveSheet.Paste
   
    Application.OnTime Now + TimeValue("00:00:2"), "sub1"
    Application.OnTime Now + TimeValue("00:00:2"), "sub2"
    Call sub3(4)
   
End Sub

回復 1# cji3cj6xu6
測試看看
  1. Sub Ex()
  2.     Application.OnTime Now + TimeValue("00:00:2"), "sub1"
  3.     Application.OnTime Now + TimeValue("00:00:2"), "sub2"  '這會先執行
  4. End Sub
  5. Sub Sub1()
  6.     MsgBox "Sub1"
  7. End Sub
  8. Sub Sub2()
  9.     MsgBox "Sub2"
  10. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

謝謝g大,
但是我想要接著執行sub3(4)
還是要
Application.OnTime Now + TimeValue("00:00:2"), "sub3(4)"
但,這樣的寫法,語法有錯∼

TOP

本帖最後由 GBKEE 於 2015-3-10 15:54 編輯

回復 3# cji3cj6xu6
不要複雜化
  1. Sub Ex()
  2.     Application.OnTime Now + TimeValue("00:00:2"), "sub_ALL"
  3. End Sub
  4. Sub Sub_ALL()
  5.     Sub1
  6.     Sub2
  7.     Sub3(4)
  8. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

Ha Ha Ha 原來還有這招,謝謝g大提供∼

TOP

想再請教一下,當傳回的資料是兩筆以上可行嗎?這裡要如何修改呢?
謝謝∼

sub3(4, XYz)

XYz = Cdate("3/12")

end sub

TOP

回復 6# cji3cj6xu6
不正確語法 , 程序要接收的參數須是變數
  1. Sub sub3(xy, XYz)
  2.     XYz = CDate("3/12")
  3. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

先前用  sub3(4, XYz)  直接執行,出現編譯錯誤,一直搞不定。
看到g大的語法,與我的蠻接近的,還是想不通。
剛再到網路上搜尋一次,應該是我問錯方向了。
正解是:
call sub3(4, XYz)
好像這樣就可以正常工作了。
Thanks.

TOP

        靜思自在 : 【時間如鑽石】時間對一個有智慧的人而言,就如鑽石般珍貴;但對愚人來說,卻像是一把泥土,一點價值也沒有。
返回列表 上一主題