我在VBA中創建了一個代碼來使用多頁面控件來收集數據。在每一頁上,我已經添加了動態基於從Excel工作表,併爲每個複選框行的複選框,有一個文本框和2個命令按鈕,就像下面的圖片:按下按鈕後重寫動態文本框
輸入窗口:
自動添加控件的代碼爲:
Private Sub UserForm_Initialize()
fmat_disp.Value = 0
fmat_set.Value = 0
'---------------------------------------------------------------------------------------------
'Inspeção de Mecânica
Sheets("Mecânica").Activate
n_anom = Application.WorksheetFunction.CountA(Range("1:1")) - 1
AreasInspecao.mecanica.ScrollHeight = 10 + 18 * (n_anom)
For i = 1 To n_anom
'Selecionar anomalia
Set SelAnom = AreasInspecao.mecanica.Controls.Add("Forms.CheckBox.1", "sel_anom_" & i)
SelAnom.Caption = Worksheets("Mecânica").Cells(1, i + 1)
SelAnom.AutoSize = True
SelAnom.Height = 18
SelAnom.Left = 5
SelAnom.Top = 5 + (SelAnom.Height) * (i - 1)
SelAnom.Tag = i
同去的文本框,加/減按鈕,只改變字幕。
我要的是: 1)當複選框被選中,相應的TEXTBOX必須顯示1 2)當減號被按下時,相應的TEXTBOX必須減量 3)時,加號被按下時,相應的TEXTBOX必須遞增 4 )當「FinalizarInspeção」被按下時,收集的所有數據必須發送到Excel,填寫工作表。
我根本不知道如何將每個按鈕/複選框鏈接到相應的文本框,而無需爲每個按鈕創建子例程!我會有〜500個子程序....這是不可能手動管理的....
哪裏像? –
對不起... imgurl鏈接到圖像添加! –
如果您要動態添加控件,則需要如下所示:http://www.siddharthrout.com/2011/08/05/vba-control-arrays/它向您展示瞭如何捕獲事件:只需要do是爲您的控件命名,以便可以在觸發代碼中標識相關控件組。 –