Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 使用UserForm删除行_Excel_Vba - Fatal编程技术网

Excel 使用UserForm删除行

Excel 使用UserForm删除行,excel,vba,Excel,Vba,我构建了一个简单的用户表单,其中包含一个组合框,可以按名称删除行 我已经使用宏填充了Combobox rowsource以构建 命名范围称为组合列表。我将其静态地插入到 rowsource属性的意思是,我没有用代码来做这件事。 UserForm上还有一个复选框,我想用于确认目的。 一旦他们从列表中选择用户名,他们需要在复选框中打勾,然后单击删除按钮。 我不知道如何编写代码来验证复选框,然后删除所选行 如果有帮助,下面是构建命名范围并显示UserForm的代码: 该复选框名为“checkbox1”

我构建了一个简单的用户表单,其中包含一个组合框,可以按名称删除行

我已经使用宏填充了Combobox rowsource以构建 命名范围称为组合列表。我将其静态地插入到 rowsource属性的意思是,我没有用代码来做这件事。 UserForm上还有一个复选框,我想用于确认目的。 一旦他们从列表中选择用户名,他们需要在复选框中打勾,然后单击删除按钮。 我不知道如何编写代码来验证复选框,然后删除所选行

如果有帮助,下面是构建命名范围并显示UserForm的代码:

该复选框名为“checkbox1”。有什么帮助吗?

一种方法是

在设计模式下,将delete CommandButton的Enabled默认属性设置为False 勾选复选框时,向复选框添加代码以启用CommandButton 向delete CommandButton添加代码以删除整行 代码


如果需要的话,查看你的文件会更容易……我以前从未使用过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