Delete Row

B

Bernie

In Excel, I need a macro that will delete an entire row based on a name
entered into an input box that would match a worksheet with that name
in column "A".


Thanks,
Bernie
 
G

Guest

I hope i've understood your question. The macro below looks in the sheet
entered into the input box to get the sheet name you want to delete a row in
and finds that name in A1. It then deletes row 13 in the sheet with the name
it finds in that cell.

Sub deleterow()
msg = "Which sheet has the name of the sheet you want to delete a row in"
sname = InputBox(msg)
If sname = "" Then
End
Else
sheettodeletein = Worksheets(sname).Cells(1, 1).Value
End If

Worksheets(sheettodeletein).Cells(13, 1).Select
Selection.Rows.EntireRow.Delete


End Sub
 
B

Bernie

It's close.

The name I input is the name of a person in the speadsheet whose row I
need to delete. I will have the sheet selected before the macro runs.

Hope that is more clear.

Thanks,
Bern
 
G

Guest

Then perhaps this will assist:
Sub MatchAndDelete()
Dim WhoToFind As String
Dim anyRange As Range
Dim startRange As String

startRange = Selection.Address
WhoToFind = InputBox$("Enter Name to find", "Name", "")
If WhoToFind = "" Then
Exit Sub ' no entry given
End If
Set anyRange = Range("A:A") ' change as required
anyRange.Select
On Error Resume Next ' in case of no match
Selection.Find(What:=WhoToFind, After:=ActiveCell, _
LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Select
If Err <> 0 Then
Err.Clear
On Error GoTo 0
Range(startRange).Select ' back to where we were
MsgBox "No match for the entered name found"
Exit Sub
End If
On Error GoTo 0
Selection.EntireRow.Delete
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top