Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27
Default delete every row where value equals user input

Hi all.
The code pasted below works only it will not search and delete every row
equal to user value. I have had to press ctrl+b, then enter value such as
'cardiac' over and over. It will delete the row where there is a cell
containing the value cardiac however, it will not delete all rows where the
row contains cardiac. There are 4000+ rows with cardiac and other words that
need to be deleted off the spreadsheet. I know it must be loop but I don't
have any syntax reference or books. Please help me. Thanks in advance. Misty

Here is the code:

Sub Macro3()
' Keyboard Shortcut: Ctrl+b
Dim userResponse
With Worksheets(1).Range("A1:H100")
userResponse = Application.InputBox("Enter a value where the rows are to be
deleted")
Set c = .Find(userResponse, LookIn:=xlValues)
If Not c Is Nothing Then
c.EntireRow.Delete
End If
End With
End Sub

--
Message posted via http://www.officekb.com

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 70
Default delete every row where value equals user input

Grüezi Misty

Mitchell_Collen via OfficeKB.com schrieb am 18.10.2007

The code pasted below works only it will not search and delete every row
equal to user value. I have had to press ctrl+b, then enter value such as
'cardiac' over and over. It will delete the row where there is a cell
containing the value cardiac however, it will not delete all rows where the
row contains cardiac. There are 4000+ rows with cardiac and other words that
need to be deleted off the spreadsheet. I know it must be loop but I don't
have any syntax reference or books. Please help me. Thanks in advance. Misty


Maybe you will find the following lines useful (even if the variables are
in German:

Public Sub DelRows(rngSpalte As Range, varValue As Variant)
'© Thomas Ramel / 24.01.2005
'Funktion zum Löschen ganzer Zeilen eines Tabellenblattes unter
'Berücksichtigung von Kriterien
'Bedingung: nicht mehr als 8125 unzusammenhängende Bereiche als Ergebnis
'Die Funktion kann nur von VBA aufgerufen werden *nicht* in einer Zelle
'Folgender Aufruf löscht alle Zeilen wenn in Spalte A '10' enthalten ist:
'DelRows Range("A:A"), 10

Application.ScreenUpdating = False
Application.Calculation = xlManual
If Application.WorksheetFunction.CountIf(rngSpalte, varValue) 0 Then
If varValue = "" Then
rngSpalte.SpecialCells(xlCellTypeBlanks).EntireRow .Delete
Else
With rngSpalte
.Replace "", "##@@##", xlWhole
.Replace varValue, "", xlWhole
.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
.Replace "##@@##", "", xlWhole
End With
End If
End If
Application.Calculation = xlAutomatic
Application.ScreenUpdating = True
End Sub

Run the following line for your purposes:


Sub DelRowsTest()
DelRows Range("A1:H100"), _
Application.InputBox("Enter a value where " & _
"the rows are to be deleted ")
End Sub



Mit freundlichen Grüssen
Thomas Ramel

--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-2]
Microsoft Excel - Die ExpertenTipps
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,090
Default delete every row where value equals user input

Misty
This should do what you want. HTH Otto
Sub Macro3()
Dim userResponse
Dim c As Range
Dim b As Long
With Worksheets(1).Range("A1:H100")
userResponse = InputBox("Enter a value where the rows are to be
deleted.")
For b = 1 To 100 'Number = count of rows in the above range
Set c = Nothing
Set c = .Find(What:=userResponse, LookIn:=xlValues)
If Not c Is Nothing Then
c.EntireRow.Delete
Else
Exit For
End If
Next b
End With
End Sub
"Mitchell_Collen via OfficeKB.com" <u33726@uwe wrote in message
news:79e27dfb52b63@uwe...
Hi all.
The code pasted below works only it will not search and delete every row
equal to user value. I have had to press ctrl+b, then enter value such as
'cardiac' over and over. It will delete the row where there is a cell
containing the value cardiac however, it will not delete all rows where
the
row contains cardiac. There are 4000+ rows with cardiac and other words
that
need to be deleted off the spreadsheet. I know it must be loop but I don't
have any syntax reference or books. Please help me. Thanks in advance.
Misty

Here is the code:

Sub Macro3()
' Keyboard Shortcut: Ctrl+b
Dim userResponse
With Worksheets(1).Range("A1:H100")
userResponse = Application.InputBox("Enter a value where the rows are to
be
deleted")
Set c = .Find(userResponse, LookIn:=xlValues)
If Not c Is Nothing Then
c.EntireRow.Delete
End If
End With
End Sub

--
Message posted via http://www.officekb.com



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How do I automatically delete a row, if one cell equals zero? Koz Excel Worksheet Functions 6 August 13th 08 08:42 PM
Prompt user for input and utilize that input ninner Excel Worksheet Functions 2 March 28th 07 09:44 PM
Have user input converted to uppercase in same cell as input? Shannonn New Users to Excel 1 June 20th 06 03:19 AM
custom filter does not work when selecting 'equals' X AND 'equals' plindman Excel Discussion (Misc queries) 1 June 1st 05 11:29 PM
CODE to select range based on User Input or Value of Input Field Sandi Gauthier Excel Programming 4 December 8th 03 03:22 PM


All times are GMT +1. The time now is 12:03 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"