1

名前で行を削除する単純なものを作成UserFormしました。Combobox

  • Combobox「Combo_List」という名前の範囲を作成するために、マクロを使用して行ソースを作成しました。それを静的に rowsource 属性に挿入しました (つまり、コードでそれを行いませんでした)。
  • また、確認目的で使用したいですUserFormCheckbox
  • リストからユーザー名を選択したら、チェックCheckboxボックスをオンにして、[削除] ボタンをクリックします。

Checkboxを検証して選択した行を削除するコードの書き方がわかりません。

それが役立つ場合は、名前付き範囲を構築してから表示するコードを次に示しますUserForm

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

チェックボックスの名前は「checkbox1」です。何か助けはありますか?

4

1 に答える 1

0

これを行う1つの方法は

  1. Enabled削除のデフォルトプロパティをCommandButtonデザインFalseモードに設定します
  2. にチェックマークが付いているときにCheckBox有効にするコードをに追加しますCommandButtonCheckbox
  3. CommandButton行全体を削除するには、削除にコードを追加します

コード

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
于 2013-03-09T01:45:33.663 に答える