【发布时间】:2020-10-28 03:45:59
【问题描述】:
我正在尝试创建一个 VBA 代码以根据现场数据检查特定的润滑油路线。我的代码用于生成一个动态用户表单,其中设备编号和部件名称作为复选框。
我的问题是我如何编码输入命令按钮代码以在完成列中插入“X”?
Option Explicit
Private Sub CommandButton1_Click()
Dim curColumn As Long
Dim LastRow As Long
Dim i As Long
Dim chkBox As MSForms.CheckBox
Dim ctrl As Control
curColumn = 1 'Set your column index here
LastRow = Worksheets("Monday").Cells(Rows.Count, curColumn).End(xlUp).Row
For Each ctrl In Me.Controls
If TypeName(ctrl) = "Checkbox" Then
If ctrl.Value = True Then
Worksheets("Monday").Cells(i, curColumn + 4).Value = "X"
End If
End If
i = i + 1
Next ctrl
Unload Me
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
Dim curColumn As Long
Dim LastRow As Long
Dim i As Long
Dim chkBox As MSForms.CheckBox
curColumn = 1 'Set your column index here
LastRow = Worksheets("Monday").Cells(Rows.Count, curColumn).End(xlUp).Row
For i = 2 To LastRow
Set chkBox = Me.Controls.Add("Forms.CheckBox.1", "CheckBox_" & i)
chkBox.Caption = Worksheets("Monday").Cells(i, curColumn).Value & " " &
Worksheets("Monday").Cells(i, curColumn + 2).Value
chkBox.Left = 5
chkBox.Top = 5 + ((i - 1) * 20)
Next i
End Sub
【问题讨论】:
标签: excel vba checkbox userform