Delete Rows If Adjacent Cell Value Is From A Defined List
Mar 25, 2013
If I have a list in sheet1, of say 300 names, I need some code, that for a table on sheet2, from A1 to F500 will delete the contents of cells in columns B C and D, IF the value for column A in that row is from the list in sheet1
List of names: sheet1, A1 to A300
Table that needs changing: sheet2, A1:F500
cells to be deleted in columns B C D IF value in A corresponds to the list in Sheet1
I have a financial dataset which I need to "clean" before manipulating/analysing.
Each row of the data represents a completed transaction and the first step is to delete rows that are done with particular (internal) clients; the client data (the client's name) is in Column D.
Currently, I delete the unwanted data by autofilter and delete (code below), however this means the clients to be deleted are only defined within the code. I would prefer to have a worksheet within the workbook where the user defines the clients by adding or subtracting their name from a list.
I have created a dynamic range for the client list by inserting a Named variable along the lines of "=OFFSET(!$B$3,1,0,COUNTA($B$3:$B$200)-1," which works fine.
However how do I work this list into my code so that it works when new clients are added or deleted?
Current code for deleting unwanted client data:
Sub filterdelete()
Dim LastRow As Long LastRow = ActiveSheet.UsedRange.Rows.Count
I have a sheet in Excel 2004 for Mac that is a patient list with over 2000 patients. I need a rule that will compare values (patient IDs and responsible party ID) in two adjacent cells, if the values are different, to delete the entire row. The goal is to get rid of patients (rows) that are not the responsible party (responsible party ID).
I would like a macro that deletes rows based on having two blank cells in adjacent columns. I have achieved this with the following code however i need it to only delete rows below a certain row. How would i achieve this?
Sub DeleteBlankARows() Dim r As Long For r = Cells(Rows.Count, 30).End(xlUp).Row To 1 Step -1 If Cells(r, 3) = "" And Cells(r, 4) = "" Then Rows(r).Delete Next r End Sub
I have pulled a SharePoint list into my workbook. The list object (table) is still linked to the SharePoint list, as I'd like to synchronize it later on. I have filtered it with an autofilter. I'd like to delete all of the visible rows. I have tried a billion things to no avail. I have been searching Google for hours now. None of the examples work.
I have a VBA macro that deletes duplicates rows, however I would like to retain the information from the duplicate row, just before deleting it. For instance, If I have these two columns: ....
I am looking for a formula that either accepts the number in a cell if the numbers on two other cells are "approved". In other words, I have on cell A1 my value to be tested. On cells A2 and A3 I have two numbers. On cell A4 I'm looking for a formula that copies the number on A1 if A2 is bigger then 0.25 and A3 is smaller then 0.35. In not, there's no copy or a N/A appears.
I'm trying to create a drop down list which returns values based on what has been selected in the previous drop down list in the adjacent cell, e.g. if 'Apples' is selected in the previous cell then you should only be able to select from 'Gala, Granny Smith', or if 'Oranges' is selected you should only be able to select 'Seville, Blood Orange'. Is there a formula which would do this, or can I use a pivot table somehow? I'm totally stumped.
I have a workbook with 30 worksheets. Each sheet has 84 rows of data (start in 15 columns (A to O). I would like to create a summary sheet that only shows the most important data from each sheet.
The summary sheet would have 12 lines of headers and formatted crap at the top. The Summary sheet header columns would be:
Site (A), Date (B) Health (C), Status (D), Critical (E), Task (F), Dependencies (G), Owner (H), T-Date (I), Task Date (J), Mitigation Date (I)
The data in the sheets are not in that order, of course.
That 1. puts the name of the sheet I am copying from in column A 2. the deadline date in Column B (that date is always in C10 of each worksheet) 3. and copies Cells from Column A,B,G,H,I,O in any row in which the value in A is not "good" into columns C through H. I would like to paste those rows into the summary sheet. I have code that loops through the sheets and rows in each sheet to find the rows to copy. I can copy cell values directly from the active sheet to the summary sheet, but because I am copying a cell at a time, it takes 7 minutes. Yes I am impatient :)
Here is the code snippet where the copying is done:
Dim sh As Worksheet 'current worksheet Dim DestSh As Worksheet 'worksheet in which to paste summary Dim Last As Long Dim CopyRow As Long 'row to copy Dim LastCopyRow As Long
[Code] ........
ExitTheSub:
Application.Goto Sheets("KMARollup").Cells(1) End Sub
I think there must be a way to use ranges to build an array of cell values and paste only once but I am lost here.
I have tracker, where Cells in Column F have dates or are blank.
I am trying to run a macro to delete all rows when the following criteria apply:
for all cells in column F, if date < 1-Oct-2013 then entire row should be deleted if cell is blank - nothing should happen This is what I got so far - but it is not working...I have entred the date "10/1/2013" in cell AA2 but macro should always check against that date (not variable) so it might not be needed.
Sub PART3_Delete_old_team_members() Columns("F:F").Select Selection.NumberFormat = "m/d/yy;@" Dim endrow As Integer On Error Resume Next endrow = Sheets("Global Team List").Range("F900").End(xlUp).Row Searchdate = "AA2"
The easiest way for me to explain it is to give an example: if the list contains Red,Blue,Green,Yellow. i need a formula for the adjacent cell that inputs £1 if red is chosen, £2 if blue is chosen, £3 if green is chosen, £4 if yellow is chosen
I have a column with dates in each cell. I need the user to the able to pick a date from a list in the adjacent cell but it must be a date on the same weekday.eg if cell a1 is 23/10/2013 then cell b1 should display a list of Fridays in the future for the user to select from and then it should put the selected value in the cell (eg 30/10/2013).
I have a phone list and I am trying to add a search box to it that when you type in the Employee name, it will return the value of the cell adjacent to the search result so the extension can show up.
I am a VBA Novice, but I have found plenty of code for the searching aspect of it. I am having trouble figuring out how to have the search occur and then return a different value then what was originally searched for.
Ideally I would like the msg box to show both the employee's full name and extension.
I need to create a repeatable macro/module to help me prepare a spreadsheet for import into Microsoft Access. In each row of the spreadsheet is various information including Order Number, Model, and Serial Number. The problem lies in the Serial Number column, which often contains several Serial Numbers delimited by commas. In order to serve my needs in Access, each Serial Number instance needs to become a new row ( record) wherein all of the information (except for the Serial Number) is the same. It is crucially important that all of the serial numbers are in the same column. (I tried using text to columns as a starting-off point, but seemed to dead end).
I am looking for a formula to number rows in A1:A500 I would like to skip a row when B1:B500 cells are empty then skip that row and start renumbering from 1 This is what I tried so far =If(b9>"", countif($B$9:$B9,">"""),"")
I have a very strange problem in DEBUG mode, because i get this error "Application-defined or object-defined error" when referring to a cell and assigning it a value so it goes to my error handler and i have a Resume Next there. It continues to go through the code whilst continuing to go to the error handler but when i step out of the function it restarts again from the beginning on the called function and then on the second run of my code it seems to WORK!?! So i'm thinking what the hell is going on, it falls over and fails the first time round and works the second time round? In free-run mode from excel i just get a #VALUE!
Each day I am going to have a list of about 300 different ID numbers, which i have already got a macro for creating, that outputs them into a single column on a sheet.
The next challenge Ill face now, is that I'll have a list of maybe 500 ID numbers in another spreadsheet.... I need a way to basically tell excel to keep rows that contain the numbers in 1 column on the list of 500, that correspond with those on the list of 300.
Numbers that are not found on the list of 300 ID numbers, must be deleted, along with the entire row.
I essentially need a macro that runs something like this that i found online, but instead of it just looking for the word "apple" as rows to delete, i would need it to check to see if the number is one of the 300 on my list.... and delete the row if it is not on the list
For the first grouping of data (Ex 1) I need to do the following; if the value in column J is less than 49 then delete the data in the corresponding row from column E to K. For the second grouping (Flx 1) if the value in column R is less than 49 then delete the data in the corresponding row from column M to S. I would like to be able to do this for all groups all the way to group Flx 5. All my sheets are set out in this way but I am not sure if I can do this using a formula or a macro (which I am not very experienced at writing).
i'm looking for is that I have two lists via Data Validation, and when someone changes their selection in list A, i'd like for list B to auto-delete whatever value it had in it.
Also, on a different topic, i'd like to know how to hide certain sheets in a workbook from public view.
I am reconciling a bank statement. My numbers in column "A" are positive, The bank numbers,also in column "A", are negative.
In Column "B" I put an if statement- , If(A1< 0,A1*-1,A1), to get all entries to positive numbers and copied down.
I sorted the numbers in column "B" and now need a macro to delete both rows if they have the same value.
The total of column "A" is say $500.00 with 50 entires. After the deletion column "A" is still $500.00 but with only 10 items because all duplications were deleted resulting in my bank reconciliation.
i m trying to make a macro I have do an additional step. I have a column (D) in a worksheet that is showing time values (2:30 PM, 3:15 PM, etc.). I need to code the macro so a user can enter a time value and the macro will then delete any rows in that worksheet in which the corresponding cell in column D shows a time value LESS THAN the value entered by the user. I've seen a couple of macros that delete rows matching a string in a cell but nothing that deletes based on the cell value being less than. Also - I need this to be done as a macro. I know how to filter the column manually to get what I want but I need this as a macro so people who are not familiar with Excel can simply open the workbook (I have the macro set to run automatically), enter the time value (ex. 2:30 pm) and they'll get all the rows in which the time is greater than or equal to 2:30 pm (the rows with an earlier time having been deleted by the macro).
This is what I'm trying to achieve: Display a list box (or any other appropriate form/active X control) to get input from the users which is usually a list of several terms. Once they've input the list, upon clicking 'OK' it should add them all to Col. B.
The above request WILL be a good solution, but if there is an advanced solution to this for eg., something like a list box with buttons, for instance: click on 'Articles' and it populates 'a,' 'an,' & 'the, click on 'Prepositions' and it populates all the pre-fed prepositions, etc. that would be PERFECT!
I created comments to be shown when drop down list items are selected using the helper cell and workbook change solution from Leith Ross at the thread below.
[URL]....
This works perfectly to show the comments. What I'd now like to do is delete the comment if the content of the cell is deleted.