我有一個宏,我想在其中為訊息框創建自定義按鈕,我想觸發一個看起來像 Msgbox 的表單,其中包含“YTD”、“特定月份”等選項。這是我創建的以下表格:

表格內的代碼如下:
Option Explicit
Public InputMsg As String
Public Sub CommandButton1_Click()
InputMsg = "YTD"
End Sub
Public Sub CommandButton2_Click()
InputMsg = "Specific Months"
我想將這些輸入值添加到我在下面提到的模塊代碼中:
Sub Chts_Functions_UB()
'CallingForms
On Error Resume Next
Application.DisplayAlerts = False
Set Wb = ThisWorkbook
Set WsCharts = Wb.Sheets("Trend Charts")
Set UBMainChart = WsCharts.ChartObjects("UBMainChart")
Set UBMonthlyYTDSht = Wb.Worksheets("UM - Monthly & YTD")
Set FPFAChart = WsCharts.ChartObjects("FP_FA_YTD Chart")
Set FPBPChart = WsCharts.ChartObjects("FP_BP_YTD Chart")
Set FPRMDChart = WsCharts.ChartObjects("FP_RMD_YTD Chart")
Set FPMonthlyYTDSht = Wb.Worksheets("FP - Monthly & YTD")
YearValue = WsCharts.Range("A1").Value
'btnFunctionName = WsCharts.Shapes(Application.Caller).Name
WsCharts.Range("F2").Value = btnFunctionName
Dim Crows As Long, Ccols As Long
Dim NamedRng As Variant
'****Here I would like to get the Input from the Form (YTD or Specific Months Button)***
Crows = UBMonthlyYTDSht.Range("A" & Rows.Count).End(xlUp).Row
Ccols = UBMonthlyYTDSht.Cells(1, Columns.Count).End(xlToLeft).Column
On Error GoTo 0
感謝你的幫助!!
uj5u.com熱心網友回復:
除非絕對必要,否則請避免使用公共變數。將相關值作為引數傳遞,如下所示。
您的表單代碼
Private Sub CommandButton1_Click()
Chts_Functions_UB "YTD"
End Sub
Private Sub CommandButton2_Click()
Chts_Functions_UB "Specific Months"
End Sub
你的模塊代碼
Sub Chts_Functions_UB(ChartType As String)
'
' Chts_Functions_UB code here
'
End Sub
也避免使用On Error Resume Next. 明智地使用它并使用正確的錯誤處理。例如
Sub Chts_Functions_UB(ChartType As String)
On Error GoTo Whoa
Application.DisplayAlerts = False
'
' Chts_Functions_UB code here
'
LetsContinue:
Application.DisplayAlerts = True
Exit Sub
Whoa:
MsgBox Err.Description
Resume LetsContinue
End Sub
注意:LetsContinue和Whoa是我喜歡使用的名稱。你可以給他們起你喜歡的名字。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/364562.html
下一篇:蒙特雷讓本地主機連接錯誤
