麻辣家族討論版版's Archiver

u800901 發表於 2021-3-9 03:51

VBA按鈕控制程式碼字串

各位前輩好,想請教各位前輩
小弟現在有產品OO跟產品XX
EXCEL內記錄的資料大同小異
現在要把內部資料匯出

基本功能小弟是寫好了,分別寫了OO跟XX各自的程式碼
但是發現修改的時候可能只有改到某一個
有點太耗時間

有兩個按鈕分別為,OO跟XX
因程式碼內的子程式,命名大概就像OO-export、XX-export,OO-Import、XX-Import...
不知道是否能改為一致 TT-export、TT-Import
透過使用者點選OO跟XX的按鈕就可以呼叫相對應的功能...

光是寫出基本功能就已經耗掉將近兩個月時間
希望各位前輩能幫小弟解惑:Q

qekqo 發表於 2021-3-9 16:56

我想您可能可以查看看 Application.Caller

u800901 發表於 2021-3-9 21:47

[i=s] 本帖最後由 u800901 於 2021-3-9 21:48 編輯 [/i]

[b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=114617&ptid=23065]2#[/url] [i]qekqo[/i] [/b]
謝謝回復:'(

不過我剛剛已經研究出來了!!!
這樣只要去修改function內的程式碼,甚至userform內的屬性
終於不用再做兩遍工了...:'(

測試程式碼如下[code]Option Explicit
Public TT As String
Dim TT_sh_Database, TT_sh_Export As Worksheet
-------------------------------------------------------------------------------------------------
Private Sub cmbOO_Click()

    TT = test_func("OO")
   
End Sub
-------------------------------------------------------------------------------------------------
Private Sub cmbXX_Click()
   
    TT = test_func("XX")
   
End Sub
-------------------------------------------------------------------------------------------------
Function test_func(ByRef TT As String)
   
    Dim wb As Workbook
    Dim sh As Worksheet
   
    Set wb = ThisWorkbook
    Set TT_sh_Database = wb.Sheets(TT & "-Database")
    Set TT_sh_Export = wb.Sheets(TT & "-Export")
   
    If TT = "OO" Then
        TT_sh_Database.Select
    Else
        TT_sh_Export.Select
    End If
   
Msgbox TT

End Function
[/code]

頁: [1]

麻辣家族討論版版為 麻辣學園 網站成員  由 昱得資訊工作室 © Since 1993 所提供