返回列表 上一主題 發帖

呼叫副程式,失敗

呼叫副程式,失敗

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

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

TOP

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

TOP

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

sub3(4, XYz)

XYz = Cdate("3/12")

end sub

TOP

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

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

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

TOP

回復 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

        靜思自在 : 欣賞別人就是莊嚴自己。
返回列表 上一主題