Board logo

標題: [發問] VBA按鈕控制程式碼字串 [打印本頁]

作者: 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

本帖最後由 u800901 於 2021-3-9 21:48 編輯

回復 2# qekqo
謝謝回復:'(

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

測試程式碼如下
  1. Option Explicit
  2. Public TT As String
  3. Dim TT_sh_Database, TT_sh_Export As Worksheet
  4. -------------------------------------------------------------------------------------------------
  5. Private Sub cmbOO_Click()

  6.     TT = test_func("OO")
  7.    
  8. End Sub
  9. -------------------------------------------------------------------------------------------------
  10. Private Sub cmbXX_Click()
  11.    
  12.     TT = test_func("XX")
  13.    
  14. End Sub
  15. -------------------------------------------------------------------------------------------------
  16. Function test_func(ByRef TT As String)
  17.    
  18.     Dim wb As Workbook
  19.     Dim sh As Worksheet
  20.    
  21.     Set wb = ThisWorkbook
  22.     Set TT_sh_Database = wb.Sheets(TT & "-Database")
  23.     Set TT_sh_Export = wb.Sheets(TT & "-Export")
  24.    
  25.     If TT = "OO" Then
  26.         TT_sh_Database.Select
  27.     Else
  28.         TT_sh_Export.Select
  29.     End If
  30.    
  31. Msgbox TT

  32. End Function
複製代碼





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