Ich habe einen Code in VBA erstellt, um Daten mit einem mehrseitigen Steuerelement zu sammeln. In jeder Seite habe ich Kontrollkästchen dynamisch basierend auf Zeilen aus dem Arbeitsblatt in Excel und für jede Option hinzugefügt, gibt es eine Textbox und zwei Befehlsschaltflächen, genau wie das Bild unten:Dynamisches Textfeld nach dem Drücken der Taste neu schreiben
Eingabefenster:
der Code automatisch Steuerelemente hinzufügen ist:
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
Same geht auf die Textbox und Plus/minus-Tasten, nur die Beschriftungen ändern.
Was ich will, ist: 1) bei aktivierter Checkbox, jeweils TEXTBOX zeigen muss 1 2), wenn MINUS Zeichen gedrückt wird, müssen entsprechende TEXTBOX 3) verringern, wenn PLUS Zeichen gedrückt wird, entsprechende TEXTBOX muss erhöht 4) Wenn "Finalizar Inspção" gepresst wird, müssen alle gesammelten Daten an Excel gesendet werden und ein Arbeitsblatt ausfüllen.
Ich weiß einfach nicht, wie Sie jede Schaltfläche/Checkbox mit Ihrem jeweiligen Textfeld verknüpfen, ohne für jedes ein Unterprogramm zu erstellen! Ich habe ~ 500 Subroutinen .... das ist unmöglich manuell zu verwalten ....
Wo ist das Bild? –
Entschuldigung ... imgurl Link zum Bild hinzugefügt! –
Wenn Sie Steuerelemente dynamisch hinzufügen, benötigen Sie Folgendes: http://www.siddharthrout.com/2011/08/05/vba-control-arrays/ Das zeigt Ihnen, wie Sie die Ereignisse erfassen: alles, was Sie brauchen Geben Sie Ihre Steuerelemente so an, dass die Gruppen verwandter Steuerelemente im ausgelösten Code identifiziert werden können. –