Filtering And Deleting Rows With VBA Code
Aug 19, 2008
I've got a row of data with a column showing some sales including amounts with 0. Any row with 0 I want gone, so I want the macro to filter the list, delete all the rows with 0 in that column, and then display what's left, all the rows with some number other than 0 in that column.
The code below should filter the 0 rows, delete those rows, and then display what's left. I don't want the heading row deleted, but everything below it that is filtered. What my code below is doing now is not deleting everything it should. How can I fix it.
Sub prepmetrics()
'
' prepmetrics Macro
' for use with monthly report - don't forget the new coversheet
'
Application.ScreenUpdating = False
Range("A7").Select
Selection.AutoFilter
Selection.AutoFilter Field:=14, Criteria1:="0"
' this is the challenge here. How do I tell Excel to select, relatively, whatever
' rows are now showing as a result of the filter?
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
ActiveSheet.ShowAllData
' there may be a number of different criteria in different columns, so
' we rinse and repeat as many times as necessary but, again, each filter/delete
' task should delete all rows filtered
Selection.AutoFilter Field:=16, Criteria1:=">7500"
Selection.Delete Shift:=xlUp
ActiveSheet.ShowAllData
Application.ScreenUpdating = True
End Sub
View 9 Replies
ADVERTISEMENT
May 25, 2013
The first code hides everything just fine based on the date in A1. When I change it to the second code to delete instead of hide it is leaving a bunch of rows that the 1st code hides. Both codes have the same search criteria.
Code:
For Each cell In Range("B8:B5000") If cell.Value Range("A1").Value Then cell.EntireRow.Hidden = True
Next cell
Code:
For Each cell In Range("B8:B5000") If cell.Value Range("A1").Value Then cell.EntireRow.Delete
Next cell
View 4 Replies
View Related
Jul 13, 2009
I have this code that I have had for a while.. it works okay on my computer and does as intended... it deleted all empty rows in the selected range after checking to see if any cells contain anything that makes it look blank but isn't (it cleans those cells).
So on my computer it works... on a coworkers computer it converts every used cell in the usedrange to #VALUE...
View 14 Replies
View Related
Mar 20, 2009
I'm trying to get a VBA macro put together that would delete all the rows, throughout every sheet, and shift up wherever the cell in column A = "Delete Row" in a workbook I've made. In the below copy of the workbook you can see that a lot of the information from all the tables is linked to the topmost table on the 'Mix Detail Sheet'.
If the the Cell in column A is blank on that first table, its corresponding cells in tables throughout the workbook displays the words "Delete Row". I need the macro to delete the rows and shift everything up where this occurs.
Ideally I'd also like the macro to then delete the rows in that first table where the column A cells are blank.
View 5 Replies
View Related
May 11, 2006
how to find a certain criteria and delete the entire row that the criteria is in. I am more interested in finding certain criteria with vba, in my case any text/non numerical values and clear contents from that cell for the entire worksheet while retaining the rest of the cells that have numerical values in them. My data has --- in cells that represents missing data which would be easier if it was completely blank.
View 2 Replies
View Related
Jan 22, 2012
I am using the following block of code, which cycles through the data and first deletes any cell with "Legal:" in it, and then cycles through again and deletes any row where the cell is blank.
The problem is that within the data, there are some locations where there are two blank rows in a row. When the code runs through, it deletes the FIRST blank row only, not the second. I Need ALL blank rows within the data set to be deleted.
Code:
Sub ModifyNewData()
Dim r As Range, rAll As Range
Dim WS As Worksheet
Dim iLast As Integer
[Code] ........
Also, if there is a way to write looking for blank rows into the first block of code looking for "Legal:" that would be cool too.
If not, just deleting all the blank rows is good. Right now, I have to have the second block of code run twice to get rid of the remaining blank rows.
View 4 Replies
View Related
Mar 4, 2014
I have an excel file with a table in it. It contains 2051 records (attached). This is just a sample, the original file has around 30,000 rows.
When I start using filters, I run into problems:
Step 1: Filter by Unit, condition (e.g.) Unit_23
Excel shows in the status bar the following message: 437 of 2050 records found.
Step 2: If I scroll to the bottom of the table, the row numbers are colored in blue (normal for a filtered list) however the last row is not colored and it actually should not be shown since its unit is not what I filtered for (its unit is Unit_25)
Step 3: Clear the filter of Unit
Step 4: Sometimes (depending on what I filter for), one or more of the bottom rows are hidden!!!
Attachment 301726
View 4 Replies
View Related
Jan 31, 2014
I have added below code in module to get list of parts which are not delievered.
I am trying get code which will end the macro as soon as its do not find mentioned crieteria i.e.
("Not Delievered")
Selection.AutoFilter
ActiveSheet.Range("$B$1:$B$5").AutoFilter Field:=1, Criteria1:="Not Delievered"
View 1 Replies
View Related
Dec 7, 2013
I have an excel database that contains a code to identify specific people.
NAME ADDRESS PHONE CODE
Jones 3 Quay St, PN 063586954 JU79N4
White 24 Dyk St, PN 063547786 9GVJ64
Smith 9 Random St, PN 063512698 4LN867
Butt 89 Yeah Pl, PN 063569986 D920HK
Handle 69 James Ct, PN 06 3549687 ZK26S84
If I wanted to filter the list so I only had codes that had Z, N, H in it. How do I do that??
View 5 Replies
View Related
Sep 25, 2012
How do I delete filtered rows without deleting the hidden rows in excel 2010?
View 8 Replies
View Related
Jun 9, 2009
I have a macro which is copying data from several worksheets into one consolidation worksheet. When determining where to paste the data into the consolidation sheet, the macro includes some logic to find the last row that has data in it (using e.Range("A65536").End(xlUp).Row, where "e" is a variable holding the name of the consolidation worksheet).
Once all the data is on the consolidation worksheet, I have a second worksheet with formulas that link to the consolidation sheet. The issue I have is that the first step of my consolidation macro deletes all data on the consolidation sheet to ensure that no data is double-counted). I am deleting the data with logic that simply deletes all rows from 3 to 65536. Once these rows are deleted, Excel returns a #REF! error on my second worksheet which is linking back to this data.
Rather than deleting the rows on the consolidation sheet, I have tried using the Clear and/or ClearContents commands instead. This works (i.e., my formulas no longer error out), but results in the consolidation macro running very slowly (~15 minutes, compared to
View 9 Replies
View Related
Oct 24, 2007
I have a very long excell sheet and I want to be able to have two buttons off to the side that allows me to filter and unfilter my page. What I want to accomplish is if the cell in column "A" is not populated then I do not want to see that entire row when I filter.
View 4 Replies
View Related
Nov 3, 2006
i have a table with game results like: ...
View 9 Replies
View Related
Sep 2, 2006
Is is possible to use VBA to remove/delete a macro and also remove code like this on worksheets:
Private Sub Worksheet_Change
End Sub
Private Sub Worksheet_Activate()
End Sub
View 4 Replies
View Related
Sep 30, 2008
I have the following codes to delete all blank rows in column A
Dim lastrow As Long
lastrow = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
MsgBox lastrow
With Sheet1
For t = 1 To lastrow
If Cells(t, 1) = "" Then
Rows(t).Delete
End If
Next t
End With
End Sub
Although it is working , it is not deleting all the blank rows at once, I have to keep pressing on the macro button running the macro several times, until all blank rows are completely deleted.
View 9 Replies
View Related
Dec 12, 2009
I have a module that imports data from a text file (120000 rows), filters and removes some unneeded (85000)rows and then puts the data in a designated workbook.
Problem: when filtering by some criteria it for some reason removes a row off the final file for each criteria. I have a total of 23 filtering criteria. I have attached a file for exemplification. You can run the module and import the file, it will be without first 23 rows, even if non of the deleted rows contained the filter criteria.
example.txt
View 11 Replies
View Related
Mar 10, 2013
How can I use a pivot table or advanced filter or macros to view rows by
Only today’s date (1 row) ?Only this week ?Only last week ?Only last month ?Only last 12 months ?All dates ? That is, rows are headed by day. I select the rows that I view.
View 2 Replies
View Related
Dec 3, 2013
I have a macro that filters a column with varying criteria.
Row 1 has all my column headings.
What I would like to do is copy the 5 rows in view below Row 1 after the filter is applied.
View 1 Replies
View Related
Apr 3, 2007
I have been trying to transpose a piece of code that was put on this forum back in 2005 into my own Workbook but have been unsuccessful. The original piece of code filtered a column for unique entries and then filtered the main sheet for each unique entry and cut and paste each row that the unique value occurred in and in a new worksheet. A new worksheet would be created for each unique filter.
So what I am trying to do is look up a list of values that i have in a list on the worksheet. Then for each entry in my list, create a new page and cut and pasted the filtered main worksheet into that page.
Finally return to the main worksheet and then remove all filters.
I have attached the original file that was submitted so you can look at how it works and I have posted a sample my worksheet (with some things disabled to reduce file size but hopefully you will get the layout. However I don't currently have that sample on this computer. It is posted on another thread under the title "Selecting rows with specific values in a column".
View 5 Replies
View Related
Jul 5, 2014
A
B
1
Terry lives in England
=FORMULA
2
Claire lives in Spain
3
Paul live in France
I'm looking for a simple formula within the cells of column B to populate the cell with data based on the "country" mentioned in the string of cells in column A. There will be 20 countries and dependant on the country mentioned a 3 character country code will be entered in column B allowing for easy filtering of people based on country code. so something along the lines of if A1 contains "England" B1 equals ENG etc (for abot 20 countries)
The output should look like below
A
B
1
Terry lives in England
ENG
2
Claire lives in Spain
ESP
3
Paul live in France
FRA
View 8 Replies
View Related
Dec 1, 2009
I have filtered a worksheet and want to only total the data in the columns that are visable, is this possible?
View 4 Replies
View Related
Apr 26, 2012
I have a 'dump' of a general ledger accounting system....about 20,000 rows. Column A contains the journal number for each set of transactions (there are usually two rows in each set but sometimes three), column C contains the name of the account, and column E the amount. For example:
Row 269 cell A269 = 487 (journal number) cell C269 = Cheque, cell E269 = $50
Row 270 cell A270 = 487 (journal number) cell C270 = Travel, cell E270 = -$50
What I am wanting to do is to extract the sets of journal entries, where the account name (in column C) is "Cheque"....so I would want to extract rows 269 and 270 based on the above example. If I filter using the account name it only gives me one row for each journal transaction - only half of the story. Given that the journal number links the two rows.
View 3 Replies
View Related
May 2, 2012
I have a VBA code that captures auto-filtering based on two criteria, but the problem is, the spreadsheet I am working on changes the amount of rows daily (ie: more rows are added onto it).
How can I change my code such that it doesn't fix the filtering area to a certain date's row #'s?
The code is
Rows("6:6").Select
Selection.AutoFilter
ActiveSheet.Range("$A$6:$Q$108").AutoFilter Field:=11, Criteria1:=
"2017708007"
ActiveSheet.Range("$A$6:$Q$108").AutoFilter Field:=5, Criteria1:= _
xlFilterYesterday, Operator:=xlFilterDynamic
View 3 Replies
View Related
Jan 9, 2008
I got a code to delete all rows in the sheet which contain the word "DETAILS" but I now want to delete all the rows that do not contain the word "DETAILS"
My code if needed is:
Sub Find_details()
Dim rng As Range
Dim what As String
what = "DETAILS"
Do
Set rng = ActiveSheet.UsedRange.Find(what)
If rng Is Nothing Then
Exit Do
Else
Rows(rng.Row).Delete
End If
Loop
End Sub
View 9 Replies
View Related
Aug 15, 2012
I have a worksheet and the products starts from the first row has product name and 2 following rows are other information which i do not need. i was trying to figure out a VBA code that can leave the first rwo and delete every 2 rows below the first one and then to complete this until the end of the data.
For example: in the following rows, i want to keep rows 1, 4, 7 and all others to be deleted and this process to continue until the last rows having data.
Column A
1 Product name
2 serial number
3 manufucture date
4 Product name
5 Serial number
6 manufucture date
7 Product name
8 serial number
9 manufucture date
Sub Deletesecondtworows()
FinalRow = Cells(Rows.Count, 1).End(xlUp).Row
View 4 Replies
View Related
Feb 4, 2014
I have a spreadsheet of raw data that has been downloaded in Excel. In Column N there are different site numbers.
I want to use a new Sheet for each site. Using a formulae I want to filter the data for each site and then copy the entire row to the relevant site`s page.
So I should end up with a sheet for each page and allthe data sorted correctly?
View 3 Replies
View Related
Jan 23, 2013
I've a file with lots of data. In that file I've some blank rows, I want a code which search complete blank row and delete.
View 2 Replies
View Related
Jul 23, 2013
My following code keeps deleting leading zeros. The purpose of this code is to delete leading spaces but leave the zeros.
Code:
lr = Cells(Rows.Count, 1).End(xlUp).row For Each c In ActiveSheet.Range("A2:A" & lr)
If Left(c.Value, 1) = " " Then c.Value = Right(c.Value, Len(c.Value) - 1)
c.Value = c.Value
Next c
View 2 Replies
View Related
Jan 11, 2008
I have a template that when it is opened it will automatically save the file to a specific location with the date in the file name.
Currently my code is
Private Sub Workbook_Open()
ActiveWorkbook.SaveAs "G:Shared"IT_New " & Format(Date, "mm-dd-yy") & ".xls", , , , , , xlShared
End Sub
Does anyone know a way to have this code disabled (either by deleting or making it all a comment) on the saved file (xls) so the speadsheet does not try and overwrite itself when I go back and open a previous days spreadsheet?
View 9 Replies
View Related
Jun 27, 2007
I have used the following Macro that deletes the Macro code. It then saves the file and quits excel.
*************************************
Sub removeAllCode()
Dim awi
Dim awcl As Integer
Dim count As Integer
Dim i As Integer 'loop counter
On Error Resume Next
count = ActiveWorkbook.VBProject.VBComponents.count
For i = 1 To count
Set awi = ActiveWorkbook.VBProject.VBComponents.Item(i)
awcl = awi.CodeModule.CountOfLines
awi.CodeModule.DeleteLines 1, awcl
Next i
Set awi = Nothing
ThisWorkbook.Save
Application.Quit
End Sub
*************************************
However when I open the Excel File, I still get the Macro Prompt. I have checked in Macro list as well as in VB Editor and no Macro code exists
If I have the file manually (or do a save as) and then reopen the file, I no longer get the Macro prompt.
I have tried various examples listed in different forums/sites but nothing works.
View 9 Replies
View Related