Excel 使用UserForm删除行
我构建了一个简单的用户表单,其中包含一个组合框,可以按名称删除行 我已经使用宏填充了Combobox rowsource以构建 命名范围称为组合列表。我将其静态地插入到 rowsource属性的意思是,我没有用代码来做这件事。 UserForm上还有一个复选框,我想用于确认目的。 一旦他们从列表中选择用户名,他们需要在复选框中打勾,然后单击删除按钮。 我不知道如何编写代码来验证复选框,然后删除所选行 如果有帮助,下面是构建命名范围并显示UserForm的代码: 该复选框名为“checkbox1”。有什么帮助吗?一种方法是 在设计模式下,将delete CommandButton的Enabled默认属性设置为False 勾选复选框时,向复选框添加代码以启用CommandButton 向delete CommandButton添加代码以删除整行 代码Excel 使用UserForm删除行,excel,vba,Excel,Vba,我构建了一个简单的用户表单,其中包含一个组合框,可以按名称删除行 我已经使用宏填充了Combobox rowsource以构建 命名范围称为组合列表。我将其静态地插入到 rowsource属性的意思是,我没有用代码来做这件事。 UserForm上还有一个复选框,我想用于确认目的。 一旦他们从列表中选择用户名,他们需要在复选框中打勾,然后单击删除按钮。 我不知道如何编写代码来验证复选框,然后删除所选行 如果有帮助,下面是构建命名范围并显示UserForm的代码: 该复选框名为“checkbox1”
如果需要的话,查看你的文件会更容易……我以前从未使用过DropBox,所以如果你没有收到文件,请告诉我。以下是链接:
Sub RecordDelete()
Dim LastRow As Long
ActiveSheet.Select
LastRow = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
Range("B3:B" & LastRow).Name = "Combo_List"
frmDeleteData.Show
End Sub
Private Sub CheckBox1_Click()
CommandButton1.Enabled = CheckBox1.Value
End Sub
Private Sub CommandButton1_Click()
Dim rng1 As Range
If Me.CheckBox1 Then
Set rng1 = Range("Combo_List").Find(Me.ComboBox1.Value, , xlValues, xlWhole)
If Not rng1 Is Nothing Then
rng1.EntireRow.Delete
Else
MsgBox Me.ComboBox1.Value & "not found"
End If
Else
`redundant if button is disabled
MsgBox "Checkbox not checked!", vbCritical
End If
End Sub