I'm trying to program a macro that filters out codes in an autofilter list. There are about 40 codes in total, however I only want excel to display 3. The current script I am using is below. I know excel lets you filter for 2 criterias in this format, however is 3 or more too much? What would be the best way around this problem?
I am trying to make an "intelligent" auto filter that with filter with increasing restriction until a certain criteria is met.
The list runs from A5:G20. In coloumn G is the number of hours associated with each event. And in A1 I have the percentage of items showing/whole list so it I have 15 rows on the list, and I filter so that only 5 are showing, cell a1=33%
How can I make a macro that will autofilter until the the a1=5% Like having filter criter = equal or greater then 1 hour, if a1 > 5% Then criteria + 1 hour If A1=<5%, then stop.
basically a seed criteria of 1 hour, adding 1 hour until the value in a1 = 5%
Want to paste special formulas and values A14 to AW14 to a new sheet and then loop through all cells down form A14 to see if they match A14 value. When it finds a new value it should repeat the loop.
trying to get macro to loop until there's no data to process.I have data in two columns A&B which it creates a chart from I then need it to skip C (which is blank) and do the same chart for columns D&E and so on indefinitely until there is no data to process..
I have attached a very simplified version of the data, the data is made up so the charts don't make sense but if you run the macro you'll see what I'm trying to achieve.
Im having a bit of an issue getting my head around why I am getting the result I am. I have data in ws1, a search list in ws2 and the results of the search in ws3. It works though for some reason it loops 3 times... not sure why.
Additionaly I want to be able to run the same sub against 2 work sheets, ie, ws1 and another ws titled "otherWS" for this example. So run the exact sub again and return the results to ws2 as well.
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
I have the following code that I use to create individual client files from one master spreadsheet. My problem is that it always creates and saves a blank file with only the 'rn' value in the file name. It seems that it is looping one extra time when the 'rng.value' list ends.
Sub MakeFiles() Dim wb As Workbook Dim ws As Worksheet Dim criteriaRng As Range, usedRng As Range, rng As Range Dim lh As String, ch As String, rh As String Dim rn As String
As a part of a much larger routine, I need a code to find five consequetive cells in a column with identical value "XYZ" and select the first one of them. Say,
I have a column: apples, pears, apples, oranges, xyz, oranges, xyz, xyz, xyz, apples, apples, apples, xyz, xyz, xyz, xyz, xyz, xyz, xyz, etc.
I need to select the twelfth cell in this column, highlighted red. I guess there could be some complicated if-then loop to go through the whole column, checking each cell and comparing it to the next four, but it would take forever to excecute... Is there some other way around? To find the first occurence of five xyz's one directly under another?
I have a piece of code attached to a combo box. When selected the code loops through 3, even 4 times for no apparent reason. Has anyone come across this before? The loop can start either after the final "end sub" or part way through (.clearcontents mainly) Have included the code just in case it is something obvious.
Private Sub cmbDI_GrowthBasis_Change() If UCase(Worksheets("Tables"). Range("GrowthNo")) = "NIL" Then Worksheets("Detail Inputs").Range("DI_GrowthRateTitle") = "" With Worksheets("Detail Inputs").Range("DI_GrowthRate") .ClearContents .Borders(xlEdgeLeft).LineStyle = xlNone .Borders(xlEdgeTop).LineStyle = xlNone .Borders(xlEdgeBottom).LineStyle = xlNone .Borders(xlEdgeRight).LineStyle = xlNone .Interior.ColorIndex = 15 .Locked = False End With Else Worksheets("Detail Inputs").Range("DI_GrowthRateTitle") = Worksheets("Tables").Range("GrowthNo") & " :" End If End Sub
I have a peice of code (Below) and instead of going from work sheet 4 to the one in the workbook 2 from the end sheet by sheet running the same bit of code it just loops repeatedly on one sheet??
Sub a()
Dim n As Integer For n = 4 To ThisWorkbook.Sheets.Count - 2 Columns("W:W").Select Selection.Copy Selection.Insert Shift:=xlToRight Columns("L:L").Select Selection.Delete Shift:=xlToLeft Range("L8:L9").Select Selection.AutoFill Destination:=Range("L8:W9"), Type:=xlFillMonths Range("L8:W9").Select Application.CutCopyMode = False Next n End Sub
Been looking at various options. Just want something to simply show the autofilter critera (1 & 2 or how every many there are) in a text box. The range being filtered is column A : M.
Basically taking this further, want to use the criteria of column C to lookup an email address e.g.
'C' is filtered by "Company 96"
Lookup "Company 96" from sheet2 range A:B, with column A containing name, and column B containing email address
I have 2 excel files, let's call them 1.xlsx and 2.xlsx (excel 2007)
File 1 is the file where I want data copied into and file 2 is the file I want to copy data from.
File 1 has certain text strings in every say 5th column in always row 2. I want to find those strings in file 2 and if the string is found, go 6 rows down, copy the cell, and paste it into file 1, 8 rows down the text string. this is the code I came up with, but it doesn't work
Code: Option Explicit Sub get_data_from_2()
Dim i As Long Dim j As Long Dim FinalColumn As Long Dim RngFrom As Range
My problem is following: I have a list of data that are classified according to a particular character, and I want to copy (with auto filter through the macro) the relevant information to the appropriate place in the sheet where it belongs. That's no problem. The problem is that if I want to copy data, classified by a character that is not listed in the table (that is not in the filtering criteria), then all the data are copied to the appropriate place. But I do not want to copy in this case nothing. How should such a macro look like?
I have some data which I want to apply multiple criteria to for a particular column. Searched around on the internet and it would appear I should use an array and pass that to my criteria. What I can't find an answer for is how to say "does not equal any of the values within the array"
Code currently is:
Code: Dim NumberFilter_Array(0 to 2) NumberFilter_Array(0) = 2 NumberFilter_Array(1) = 9
[Code].....
I've tried variations for that in red but can't get it to work, how to correct the line in red to filter for none of the values in the array NumberFilter_Array?
I am trying to use VBA to set an autofilter that hides all zeros in Column AL and then excludes all values in Column E that start with "312" or "502". For some reason I can't get this to work as expected, it still continues to display unwanted values in Column E.
I have one master sheet of data, with a large number of fields and data.
I need to turn this master data into individual records, each record exisiting as an individual worksheet - lets call it a 'U'. The U is a template sheet which has calculations and lookups built into it to complete further information. The completed U's are then used by a number of people for different reasons. There are 3 main 'flavours' of these sheets which have slightly different uses.
I've gone from knowing nothing about macros to having learned enough about them in the last week or so to populate each individual sheet with the data, and save the new file in the location I want it to go.
What I want to do now is filter the fields displayed by the individual U sheets, as not every field is applicable to each 'flavour'. I've marked up the rows as to the appropriate flavour - e.g. Row 17 is applicable to 'P' 'F' and 'R' ( Cell which is auto filtered contains PFR), but Row 18 is only 'P' and 'F' (Cell contains PF).
I've gone through the master file and identified each entry as a the appropriate flavour - to summarise what I'd like to do now:
1) Automatically populate the template file with the relevant data. (which my macro will do) 2) Use an autofilter to filter the rows equal to the data in the reference sheet so these are the only ones displayed. Eg. Reference sheet says 'P', so I want to filter the U sheet where autofilter column contains the letter 'P' 3) Rename the file and save as my reference in the location I want it to (which the macro is doing).
(where CF3 = the cell in the master data with the flavour in it, "USS iss1" is the template U file, G158 is a spare cell and Autofilter Field 1 contains the row reference which tells me which data applies to which flavours).
I've tried using the macro recorder, which when I paste the value in the autofilter/contains box records it as the value I've just put in rather than a copy of the reference cell. I've tried
Criteria1:=*ActiveCell*
and other variations on the same theme, but to no avail - I get "Compile error: Expected:expression".
could u advise how to display just the criteria ie no heading, no :, no =, and when it displays the criteria could it fill the cell with a colour. When filter is set to "all" give a blank cell
This would over come lots complaints from operators not realizing that filters are on because they can not find the silly blue button.
Are microsoft aware of is and are they changing it in the new release.
I'm actually trying to write a Macro that applies autofilters and the information just doesn't show! The autofilter is properly applied and everything, but the only visible row is the header. The code is the following.
I would like to do some search function. As I know, to have "contains" in criteria, I can simply add *. But then, the asterisk(*) doesnt work with forms. I want my user to put the word they are looking for in a form then the system will select from a different worksheet. Below is my coding and bold is my biggest problem.
I want to write a VBA routine to compare the Autofilter criteria found on two different worksheets. If the criteria is not the same I will display an error message. The range the Autofilter is working on could be one to many columns. The criteria could be anything from selecting a value from the autofilter list to multiple columns using a custom autofilter with multiple conditions.
I'm trying to make the criteria in an autofilter bit of code be the value of a cell in my spreadhseet. I have named the cell and would like to reference the named range rather than the cell address if possible.
I have the following code based on Multiple user-selected dropdowns. What I need to add is I believe a Volatile Application, where if the user chooses the option "ALL" OR leaves blank (doesn't pick anything from the dropdown,) the respective column does not get Autofilter applied. I have 6 different criteria, including a Start Date and End Date. So, the final result I'm trying to get is to have autofilter applied to only those columns for which the user selected a specific option.
Dim dDate As Date Dim strDate As String Dim lDate As Long Dim rDate As Range
Worksheets("Data").AutoFilterMode = False Set rDate = Sheets("Summary").Range("B3")
If Not IsDate(rDate) Then 'Check if valid MsgBox "Non valid date and time" Exit Sub End If