質問: エクセル VBA 指定した番号をsheetのリストから削除する方法 1UserForm1のTextBox1に管理番号を入力 2CommandButton1をクリック 2その管理番号を管理表sheetのB列から探し 3ヒットしたら行ごと削除して上に詰める こちらのコードを教えていただけないでしょうか? 管理表は5行目が項目行で 6行目以下最終行は変動します。 どうぞよろしくお願い致します。
回答: へんなオペレーションはなしの前提で、いかのようなものでしょうか? UserForm1内のコードとして Private Sub CommandButton1_Click() Me.Hide End Sub を定義します。 シート上に以下のコマンドボタンを作成し、マクロを登録した場合です。 「Private Sub CommandButton1_Click()」は環境にあわせてください。 Private Sub CommandButton1_Click() Dim sTxt As String, rg As Range ''UserFormを表示し、管理番号を指示させる。 With UserForm1 .Show sTxt = .TextBox1.Text End With Unload UserForm1 ’’対象行を削除する。 Set rg = ActiveSheet.Range("B6", Cells(Rows.CountLarge, "B")).Find(What:=sTxt, LookAt:=xlWhole) If (Not rg Is Nothing) Then rg.EntireRow.Delete Else MsgBox "管理番号『" & sTxt & "』はありません。", vbExclamation End If End Sub