AdvancedFilter Macro. This Command Needs At Least 2 Rows Of Source Data
Dec 24, 2007I'm trying to put a search userform in a worksheet. I got this code from the web and tried to alter it to fit my worksheet....
View 7 RepliesI'm trying to put a search userform in a worksheet. I got this code from the web and tried to alter it to fit my worksheet....
View 7 RepliesI'm having with creating a macro to filter some data from one sheet to another. I used the "record a macro" function to get the code I've posted below but part of the code is always changing.
In my workbook I have a main sheet called "Data" and another sheet called "Parts". The code below does what I need it to do, but the problem is that the cell range (A2:I139) is not constant and may change depending on how many rows of information I import on the "Data" sheet.
What I'd like to have happen is either have a dialog box pop up and prompt me to select the cell range (I've tried using the Application.InputBox function but can't figure it out), or since the first cell will always be A2 and the last column will always be I, have excel automatically figure out the last row that contains data.
I realize that there are 100 posts asking this same question but I believe this question is unique. My actual data if far more complex, but I have attached a simple workbook to illustrate my problem. It is my understanding that the following code will generate a unique list of values. However, it does not work if an AdvancedFilter has been used previously in the code.
Sheets("Sheet1"). Range("B1:B6").AdvancedFilter _
Action:=xlFilterCopy, _
CopyToRange:=Sheets("Sheet2").Range("E1"), _
Unique:=True
I have been able to solve this problem by adding "CriteriaRange:=vbNullString" to the above code.
Sheets("Sheet1").Range("B1:B6").AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=vbNullString, _
CopyToRange:=Sheets("Sheet3").Range("E1"), _
Unique:=True
Here is my question: Do you need to reset the value of "CriteriaRange" each time you use AdvancedFilter, and if so, is setting CriteriaRange to vbNullString the best way to do so.
In Excel I recorded a macro by carrying out some operations and then copied the code into VBA code window to the click event of a button expecting the code would operate well but in vain. What is wrong with my operations? By cliking command button placed on a userform I want to copy the date of one column to another and the data thus copied into another column should contain only unique value.
View 4 Replies View RelatedI have a report that was created for 2005 that contains two worksheets: a "source data" worksheet and a " pivot table" worksheet. I cleared out the 2005 data in the "source data" worksheet and replaced it with 2006 data...after this I refreshed the Pivot Table and everything seemed fine. When looking at the file size I noticed that it was almost twice its original size....upon further investigation I found that the Pivot Table was internally holding onto the old source data (the "Show" functionality of the rows/columns in the table lists the 2005 row/column headers as well as the 2006 headers....even though no data from 2005 is shown in the Pivot Table).
Does anyone know how to purge the old data from the internal Pivot Table memory?
I hope this is enough information....let me know if you need more.
Thanks in advance for any help,
Jon
how to put together a macro for a command button that deletes rows with certain text in a docyment - which worked fine a week or so ago - but now the macro will not work.
I made changes to the document - but made sure i also made changes to the code.
I have a Pivot table which is created by running a macro with formula calculated columns.
Q1. when i add another column in data sheet, and change the source manually, i get a error in calculated columns
Q2. I need to add the new column in data sheet to the row labels of the existing pivot sheet. with change formula calculated columns.
Q3. can we have any macro to this ?
I have a number of pivots in a workbook. Well, I created a macro that updates the data sheets (located in the same workbook) and every time I run the macro, my data source for pivots changes and doesn't pull in all the columns. I'm at a loss as to why that happens (Although, I think it has something to do with macro deleting some columns and adding new ones).
View 9 Replies View RelatedI have 5 pivot tables on 5sheets, all looking at the same source data in sheet 6
On the source data there is a filter on the headers, if you change the filter, is it possible for all 5 pivot tables to update according to the filter?
My starting point is the below, but there probably is a better way but i would want the sourcedata to equal visible rows on the source data sheet headers run A:K and up to row 10000 .
I have one source spreadsheet, where are columns NAME, DATE. I read these data by ADO to other spreadsheet, where I can change/delete data and then run macro for update data in source spreadsheet. The problem: In source spreadsheet is column "NAME" and column "DATE", with values e.g. "Joseph"; 1.1.1980. I read this data to other spreadsheet, then I delete in it value 1.1.1980. When I run macro Update, it messages error.
Sub UpdateItem
...
.Fields.Item(1).value = activecell 'activecell value = "Joseph"
If Not isempty(activecell.offset(0,1)) Then
.Fields.Item(2).value = activecell.offset(0,1).value
Else
.Fields.Item(2).value = "" 'I tried Empty and 0 too but when I read data again then, it displays 0.1.1900, nothing works
End If
...
End Sub
It seems that in source spreadsheet has data in column "Date" format Date and when I try to update data in format String ("") in source spreadsheet by Update macro, it messages error. When I used
.Fields.Item(2).Value = Empty
' or
.Fields.Item(2).Value = 0
after rereading data it displays 0.1.1900 What I want to get is that if the cell with date (in other spreadsheet) is empty, the cell in column Date in source spreadsheet after updating will be blank (contains no values).
The "Sum" sheet can change its number of rows. The pivot table is based on it. I'm having trouble with the SourceData portion of the code in my macro ....
View 9 Replies View RelatedI am having trouble creating a macro for an excel file I am working on. I do not have much experience writing macros, so I apologize for any confusion. I have created a simplified version of the file I am attempting to write a macro for and attached it to my post here.
At this point it would be helpful for you to open up the attached file so that you can understand my explanation.
Basically what I want the macro to do is:
1. Match up "Product" on Wksht(Input) with "Product" on Wksht(Data).
2. Copy the "Usage per ton" and "Dollars per ton" values corresponding to the given product from Wksht(Input) to Wksht(Data) for the correct month. (The user will manually enter the month, ie "August 09" into Wksht(Input) each month when he runs the macro.)
++The color fills will not exist on my finished macro. I only put them there to illustrate the values that will be copied and pasted.
I want the macro to be written with Loop commands so that it will check to be sure the product number matches with the given location for pasting the data values. I should also note I use PasteSpecial_Values because of the formulas in the cells on Wksht(Input).
need to create a macro that inserts 3 rows below each existing row of data and simply copies and pastes that data into each of the empty rows before moving on to the next unique row and doing the same thing again.
This is what I have so far, but I can't seem to get the loop right.
Rows("2:2").Select
Do
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
activecell.Offset(-1, 0).Select
Range(activecell, activecell.Offset(0, 5)).Copy
activecell.Offset(1, 0).PasteSpecial
activecell.Offset(1, 0).PasteSpecial
activecell.Offset(1, 0).PasteSpecial
Selection.Offset(1, 0).EntireRow.Select
Loop
Using excel's text to speech I've put together a basic spreadsheet.
[URL]
Code:
Function talkit(Speech)
Application.Speech.speak (Speech)
talkit = Speech
[Code]....
I have a base excel file for summarizing some data, the problem is that the data comes from a different excel spreadsheet. What I want to do is make a function that pulls the data from another spreadsheet into my base file. It would be easy if it were just one excel sheet, but this job would require where the data is pulled from a data file which has many modified versions.
Can anyone tell me how to do this? The files with the data will be structured the exact same but with different data entered in. I just want a button so I can click the file I want the data from and have it show up on my summarizing base file.
I have two worksheets that directly link a range of cells on both sheets, ie: Output!a1 = Database!a1.
In this case, the Database sheet contains data that I want to manipulate by deleting entries that are defined in rows. however, when I delete one of the source rows I get a #REF error on the Output sheet.
Is there any way to avoid this so the entries will automatically shift down a row if a row has been deleted? :o
So if i were to delete row two on the source page and the data from row three moves down, that would, in turn, cause the row three data on the output page to move down one row as well.
I have a worksheet with 40 colums and 9200 rows. There are columns with empty data in the rows. Can I have a macro to copy data in the rows in Column E, F, I, J K and L to empty rows below?
View 3 Replies View RelatedIs there a way that I can tell my VBA code to select the first row that my advancedfilter is showing? The row number changes, depending on the criteria selected. I need to be able to select this row, so I can hide the first row the filter is showing. I tried an offset command, but that just selects one of the rows hidden by the filter.
View 9 Replies View RelatedI am trying to use the advanced filter code to move all unique items from one sheet to another sheet. For example, I have two sheets named (1) "data" and (2) "output". I want to filter a list of unique items only from the "data" sheet and copy the data to column A in the "output" sheet. The code posted works fine if I keep the unique data in the same sheet, but I can't figure out how to copy to the "output" sheet.
View 2 Replies View RelatedI'd like to say that this Forum is helping me very much when reading so many useful topics, get help from ppl here. From nothing I advanced my program very much. About my problem here:
I have an Excel Column with Dates (dd-mmmm-yy) and an UserForm/ComboBox. I'd like to add only the unique dates from the Excel Column to the ComboBox. The Excel Column Range is updating with new dates.
I tried to use RowSource but i don't know how to get the unique dates with RowSource. Maybe RowSource is not a good decision.
I need to transpose into 2x2 range to use as criteria for advanced filter
I tried
arrCrit = Array("Accnt_Nmbr", "313000", "DT", "RV")
Set rngCrit = wsData.Range("IU1:IV2")
rngCrit = WorksheetFunction.Transpose(arrCrit)
Where Accnt_Nmbr and DT are Column Headers in the data to to filtered
However when I run the output includes all DT's (Document Types)
How can I expand so both criteria are used in the filter?
is there any way to get an advanced filter to play with autofilters? at the moment after i have applied the advanced filter it completly messes up with my autofilter to the extent that it moves where the autofilter actually sits and then when i try and use the autofilter it completly ignores the advanced filter i just applied. how to make the 2 filters play nice together and actually be able to autofilter the results of an advanced filter.?
View 2 Replies View RelatedI have an auto filter setup on some data. When I perform an advanced filter either in-place or to another location, the auto filter disappears. Is it supposed to be have like that? If so is there some sort of work around?
View 2 Replies View RelatedI'm in the process of debugging some code at the moment and so have removed the On Error Resume Next's that I had in there.
I've since gotten rid of this where it wasn't necessary, but I have a general question about using the ShowAllData method with Advanced filter.
When I use:
ActiveSheet.ShowAllData
when there is no advanced filter applied, I get an error saying the method of Worksheet class failed.
I have searched and cannot find a way to check in VBA if there are advanced filters applied, though I can find code that will check if AutoFilters are applied. This doesn't work with AdvancedFilters.
I am trying to use the advanced filter with a not equal to operator, where the requirement is that the output not match an exact text string. I have tried <> and <>"???" (where ??? is the text string) and neither filter is working.
View 2 Replies View RelatedI have a huge data set with survey data (sample attached: sample.xlsx). Column headings: survey questions Row headings: respondent identifiers (names) Row data: answers to questions (numeric values, only five answer options 1,2,3,4 or 5, no blanks)
I need to build that kind of pivot table:
Rows - list of particular questions (i.e. questions no. 3, 7 and 12) Columns - list of all diffrent answer entries (eventually, it will be 1,2,3,4 and 5) - it could also be questions in columns and answers in row (no difference) Values - count answer entries (i.e. how many answers "5" are on quesiton 3)
------
UPDATE: explanation added.
The reason I need pivot tables: i'll have to cross analyze multiple sets of questions. I'll have to do such cross-analysis 100+ times, so, writing a formula for each time does not quite work...
My worksheet has a report name in cell A1, a brand name in B2, price name in C2, and color in D2. Row 3 has a table header in cell range A3:E3 followed by rows of table contents at the end of which is a row of empty cells. This sequence repeats itself for a new product: a row with the report name in column A, followed by a row with a new brand name, price and color in the same columns as before followed by the same table header and table contents. The number of products (with the previously mentioned details and table) vary so I would like to write a macro that is not dependent on a set number of products. Each table varies in the number of rows but never contains empty cells and always ends with a row of empty cells. I want to delete all rows with the report name and have all products in one table with the brand, price and color added to the table header and contents.
View 2 Replies View RelatedI download an extract from our company's website (.csv). After that, I need to do certain actions (such as deleting certain rows etc.).
The parts I am struggling with in VBA is:
- I need to trim B:B and give back the values to the same cells it came from;
- I need to add three columns behind the data: a date (same for all rows), a simple sum of two cells (A2-D2), and a vlookup.
I vaguely remember that I need to build a loop until the end of the rows (number of rows varies with every download, column headers are the same always), but I cannot remember how.
I am using advanced filter. When I use
Range("S3").Value = "" = "M6" = """"""
I get a runtime error 13. Am I missing something? After reading through other posts, I could not find anything wrong with this.
I have a userform with a command button which fires a macro.
everything works fine so far.
my problem is:
I would like to add a msgbox at the end of the macro which confirmes "successfully completed".
I cannnot simply add the msgbox at the end of the macro. don't know what I'm doing wrong.
(see below)
Private Sub CommandButtonOK_Click().
If Me.OptionButton1.Value = True Then
ThisWorkbook.Worksheets("PropertyWorksheet").Range("A1").Value = "Government Securities"
ElseIf Me.OptionButton2.Value = True Then
ThisWorkbook.Worksheets("PropertyWorksheet").Range("A1").Value = "Corporate Bonds"
[Code].....
Unload Me
Application.ScreenUpdating = False
Sheets("MySheet1").Select
Application.ScreenUpdating = False
'run macro
MyMacro1 (adds, hides and deletes various sheets)
MyMacro2
[Code]....