VBA - Collecting Array Of Sheets Based On Conditions
May 11, 2011
I need a code to select sheets with pages less than 15 to print out. Also, a code to print out just the first 5 and last 5 pages if its more than 15 pages.
I've tried this so far but no success:
For X = 1 To Worksheets.Count
If Y Is Nothing Then
Set Y = Sheets(X)
Else
If ExecuteExcel4Macro("Get.Document(50)") < 10 Then
Set Y = Union(Y, Sheets(X))
End If
End If
Next X
Y.Select
View 6 Replies
ADVERTISEMENT
Oct 19, 2011
Given an input array (result of a calculation )
Input Array = [3 4 9 1 0 5 7 2 0 6 10 8 ]
Depending on the number and location of the zeroes, I would like to create a sorted array whose
- number of rows is determined by the number of zeroes in the input matrix (i.e number of zeroes - 1)
- number of columns determined by the the size of one maximum number of elements in one of the smaller arrays. The remaining entries on the other shorter rows will be made zero.
For the above example sorted array becomes a 3X4 array
1 3 4 9
2 5 7 0
6 8 10 0
Example 2
Input Array = [9 4 5 0 1 7 6 2 10 3 8]
Sorted Array is a 2X7 Array
4 5 9
1 2 3 6 7 8 10
I would like to generate this array in VBA (rather than writing/reading in a worksheet) as it will save a lot of calculation time.
View 3 Replies
View Related
Jul 18, 2014
How to apply a filter over the array "a" shown below and get the result in a new array "b" containing the filtered values based on the following conditions (the conditions criteria could be 1, 2 or 3. In this case only 2):
Criteria1 in Column 4="yellow"
Criteria2 in Column 3="ggg"
And only show values of columns 1 and 3.
If were using an SQL query would be something like this:
Code:
SELECT F[1],F[3] FROM "Table" WHERE F[4]="yellow" and F[3]="ggg"
The output array would be as below:
Code:
b=[{12,"ggg";140,ggg}]
this is the array:
Code:
Sub test()
a = [{"122","53","ggg","yellow";"140","9","ggg","yellow";"16","-22","ddc","yellow";"127","-37","ddc","green";"53","-28","ggg","grey"}]
'Filter code to get array b
'
'
End Sub
View 1 Replies
View Related
Dec 11, 2012
I'm creating stockportfolio's based upon historical stock data. I have 300 stocks with monthly observations. Stocks are assigned to a portfolio based upon their return in the previous 6 months. I need the top 10% stocks in terms of return in previous 6 months (so 30 stocks) in one portfolio and the lowest 10% stocks in terms of returns in previous 6 months returns (so again 30 stocks) in another portfolio. Each portfolio is just a sum of the returns of the stocks that are in there.
First sheet: rows contain the return a stock had in the 6 months before the month in the left column (so january 2006 contains the return a stock would have had from july2005 -december 2005). This is done for 300 stocks. Second sheet: contains the return the stock had in that actual month (so january 2006 just contains the january 2006 return) The third sheet is where I want to create the decile portfolio's. This means that for every month i am creating 10 portfolio's: Each month "portfolio 1" should contain the sum of the returns of the stocks with the 30 highest returns in the past 6 months. "Portfolio 10" should contain the sum of the returns of the stocks with the 30 lowest pas 6 month returns. (30 is 10% of 300: that's why it is called decile portfolio)
So I should sum things from sheet 2 with the condition referring to sheet 1 where the returns of the past 6 months are displayed. I am trying formula's like =SUMIF(RANK...) but am getting no results. Somehow excel should select the right stocks and sum the 30 returns. I'm totally lost after a lot of trials.
View 1 Replies
View Related
Dec 29, 2006
i am not able to solve this problem.
1- I have 3 tabs in this worksheet with the data - Tabs A , Master Data and refernce Table
2- Suppose column K in the tab " Master Data " has a record or number, they can be repeated as the new data us added every month.
3- Reference table has the list of the same data record ( numbers ) .
Now the situation is if there is a new record in the column K of the master data sheet the Macro should do the following.
a- Check for the record in the reference table , if doesnt exist then add the record in the reference table
b- create another sheet same as the sheet " A" (duplicate of
A) and name it the new record number
b- Plug the new record number in the cell B2 of the new sheet
c - Copy the row 8 from ( D8 to O8 ) in the new sheet from (D8 to
O8)from sheet A
View 5 Replies
View Related
May 14, 2014
1) Input data are static and helper columns can be added if needed.
2) Filter will be dynamic range (in attachement is the filter static), and the count of years can be changed on users request. So there could be only 2011, but also 2011+2012, 2012+2013+2014 etc.
3) In col 'J', the is what I know to do, but I do not want to use SUMIF+SUMIF+SUMIF... for each year (the count of years will change througt time as mentioned above).
View 3 Replies
View Related
Mar 15, 2014
I am trying to pick certain data from a table and sum it in order to produce a formatted report.
The data has many different items of which I want to pick certain ones to sum on one line
See attached and some of the formula's that I have used, but aren't quite what I'm after
The formula I want to use is .... VLOOKUP(E5:G5,A14:C23,3,) ......
But it wont reference a range (E5:G5) !!! and I also want the formula to ignore blanks (as blanks in the data file are actual totals).
View 2 Replies
View Related
Jan 16, 2010
I have a spreadsheet that contains two worksheets called: MasterApplication and LocalAdmin. The Local Admin worksheet as shown below contains the following information starting on row A1:D456 ....
View 9 Replies
View Related
Jun 22, 2007
What I am looking to do is pull all the data of clients with assets under $2million into another tab. How can I do this without copying and pasting? I am looking for either a macro or some kind of formula that will search the entire data dump and pull in just the clients I need without leaving any rows blank.
View 9 Replies
View Related
Jan 1, 2009
I'm working with wookbooks used company wide and I cannot add any helper columns which would solve the problem. I need to add data which meets certain conditions see attached workbook for a sample.
View 5 Replies
View Related
Aug 27, 2009
It is a small program for learning new words of a foreign language.
By means of a userform one can add new words to the program which will be stored on a sheet called "data" each new data entry will get a subsequent number.
On the main-sheet "werkblad" one can by giving 2 numbers from between which to collect the data retrieve the words they want to learn.
For example. If on the mainsheet in cell B3 the number 3 will be entered and in cell C3 the number 12, only those words will be shown with a number between 3 and 12.
However sometimes I would like these words to show up in randomized order. So I made a new collumn on the "data" sheet with the following formula =rand() and sorted it, but unfortunately the formulas on the "werkblad"-sheet don't present the given numbers [3 till 12] in randomized order.
The formula I use for collecting the data from the "data"-sheet is the following:
View 8 Replies
View Related
Dec 15, 2009
I have several sheets which give me results, e.g. "dummy1", "dummy3" and "dummy5" out of a list of all possible dummies 1 to 10. It is possible that there are any number of "dummy5" (or any other dummy) outcomes.
I just want Excel to make a list of all the possible outcomes.
In this case, I want Excel to make a List that says:
"dummy1"
"dummy3"
"dummy5"
This means Excel shall search the respective Columns and just check, is this dummy there or is it not.
View 12 Replies
View Related
Dec 17, 2009
I've just been asked to do a new Quality Control project for my boss. What I'm looking to do is be able to input the thickness values of our product in one worksheet, and have it recorded in another, as well as have the data separated by the model number
The main problem I'm having is figuring out how to enter data in the 1 worksheet as a template, and have the data consecutively stored, one after the other
Are there any functions that will allow me to do this?
View 6 Replies
View Related
Jan 14, 2009
I would like to have a formula in one cell that finds records on another sheet that meet certain criteria, and produces a sum of the total quantities associated with that record. The attached workbook has more details as to what I am trying to do.
View 2 Replies
View Related
Oct 1, 2007
I know there have been many posts about multiple conditions in arrays, but I didn't find one that applied to my situation, so I'm hoping can help me out of jam. I'm using Excel 2000 on XP.
I have a database of sales information. Customer name is listed in column C, and columns F through Q contain the sales for the months of July - June (fiscal calendar year), with the headers for the months in row 4. There can be many rows of sales for the same customer, hence the need to sum them.
Example
C F G H
CUSTOMER JULY AUGUST SEPTEMBER
customer1 2 3 4
customer1 2 3 4
customer2 2 3 4
customer2 2 3 4
The problem is that this information will need to be updated every month to reflect sales year-to-date, meaning that the conditions for summing the data will change depending on how far into the year we are. So for instance, in August I will need to sum all the records for customer1 in the July column (column F) and the August column (column G), but next month it will have to sum the records for customer1 from July, August, and September (col H).
The result of this information would be displayed on a different worksheet. My thought was to assign a range of 12 cells (Sheet2!A1:A12) and to populate those cells with any of the months that need to be summed thus far. So for example, through September, A1 = "July", A2 = "August", and A3 = "September". Then the formula would use those values to evaulate the conditions. So in plain English the formula would:
sum the values in columns F : Q where the monthly header = the values in the range Sheet2!A1:A12 for all records where CUSTOMER = CustomerName
View 9 Replies
View Related
Nov 9, 2007
My formula below work perfectly. I was wondering if their is a way for me to idenify the location of each row in which all the conditions are true. So, for example, if the formula generates an answer of 2, in a different cell it would give me the address of the 2 rows.
=SUM((K9:K72/L93))-SUM((K9:K72/L93))
View 9 Replies
View Related
Apr 28, 2014
I need to modify the underneath Count Array Formula to count unique values based on multiple conditions. I can get the formulas to work with NUMERIC values in Column A in the N1 & N2 tabs. However, I cannot get the formula to work when column A contains TEXT values in the TX1 & TX2 tabs.
I've attached the XL file for your review of the project.
=SUM(IF(FREQUENCY(IF(('TX1'!$B$2:$B$15=B2)*('TX1'!$C$2:$C$15=C2)*('TX1'!$D$2:$D$15=D2),MATCH('TX1'!$A$2:$A$15,'TX1'!$A$2:$A$15,0)),MATCH('TX1'!$A$2:$A$15,'TX1'!$A$2:$A$15,0))>0,1))
View 4 Replies
View Related
Mar 16, 2014
As per attached sheet, I have the date distributed in two three cell and want to transfer data to single cell. I don't know which formula has to use to collect it together.
need solution.xlsx‎
View 2 Replies
View Related
May 15, 2012
How to get the sum of a range if 3 conditions are met.
1 after this date
2 before this date
3 Column G is "OTH"
Ranges are on sheet1
Date reference is on sheet2
range to sum is on sheet1
V14.
Present formula is:
=SUMIF('sheet1'!$P:$P,">="&EOMONTH($A2, -1)+1,'sheet1'!$H:$H)
-SUMIF('sheet1'!$P:$P,">"&EOMONTH($A2,0),'sheet1'!$H:$H)
This works fine but lacks the 3rd condition 'sheet1'!$G:$G ="OTH"
Advise given was to go on SUMPRODUCT but unless with (OFFSET(INDIRECT, SUMPRODUCT wouldn't work on multiple sheets. And this is for version 14...
View 5 Replies
View Related
Apr 12, 2008
I have found that excel can be the best thing ever and also a nightmare when you are stuck on something. I really apprecciat anyone who can help me out.
In an excel workbook i have a sheet that has rows and rows of Sales Leads.
In column A i put a letter "C" if they have turned into a client or an "X" if the sale was not made.
I am looking for a function that will look at column A and when it sees the letter "C" then copy the entire row across and put the row into sheet 2.....
View 9 Replies
View Related
Jan 10, 2008
i have wordlists which i would like to enhance through texts. For that purpose i need a macro which reads a text and splitts it into words and put the words into three columns. Lets assume the column where the words are supposed to be put is columns A,C and E. The column A should contain single words containing no spaces from Text, column C should contain compound words which have one space between them and in column E those compounds which have two spaces. Now i will put my existing wordlist in column G before i start splitting texts. The macro should put only those words from text into column A,C and E which dont already exist in columns A,B,C,D,E,F and G. In Column B i will place the corrected or checked words from column A. In column D i will type the corrections and checked versions of those compunds existing in column C. And the column F will contain the compound words which are corrected and checked from Column E.
Column A--> single words splitted from text through macro (containing no spaces)
Column B--> corrected and checked versions of words from column A through user
Column C--> compound words containing one space splitted from text through macro (for example:"etwas möchten" or "do something")
Column D-->corrected version of C through user
Column E-->compound words containing two space splitted from text through macro (for example:"sich uerberzeugen lassen" or "down in dumps")
Column F-->corrected E
Column G--> existing dictionary wordlist through user
Signes like ".", ":",";", "/" or quotation signe itself should be seen as seperator. And the words or compounds splitted from the text should not contain these signs.
The text will be put in another sheet in the same excel file. Lets call that sheet "text". The macro should search for words through whole sheet ignoring empty cells or columns.
None of the columns should be filtered or ordered. The columns shound not be deleted as well. That way the user wont have to correct the same word each time cus the corrected as well as the original words will be there.
A thread with similar purpose was made sent by AdamDay as well, where rylo has posted a good solution already.
View 14 Replies
View Related
Nov 13, 2006
I'm creating a summary sheet that adds up all the data on sheets between start and finish where A2-A25 is SU and B2-B25 is 004*04. Background info: SU stands for SetUp, and 004*04 is a workcenter number (its not 004 times 04) I'm trying to calculate the total number of Setups for each workcenter.
=SUM((start:finish!A2:A25="SU")*(start:finish!B2:B25="004*04"))
gives me a #NAME? error.
Example Data on each spreadsheet:
A B
SU 004*02
SU 004*04
SU 004*04
SU 004*02
SU 004*04
View 9 Replies
View Related
Jun 2, 2008
how do i create a sheetsarray to include all sheets between First and Last? I plan to loop through each sheet in this array to copy data to a summary page, as per [url]
View 9 Replies
View Related
May 2, 2013
I'm only starting to get to grips with arrays. I have what I consider to be a lot of data that I need to 'cut' into separate workbooks. I have written some code that does this by simply looping through each line, 250k+, checking against a variable and copying the row into a separate sheet. This took longer than it would have doing it manually. It was suggested to me that I use arrays to speed up the process. I have managed to store the test data into an array but am struggling to find a way to loop through and pull out an entire 'row' from the array based on a variable. I have looked for 2 days in various places to find some way to loop through the data held in the array, but to no avail.
That code will appear here from about 8am GMT tomorrow. I know that once I've cracked this I'm on the road to some very significant time saving and comprehensive report writing.
View 9 Replies
View Related
Dec 20, 2012
I gather two lists of serial numbers (i.e.) from two different sources; one populated in sheet1, A:A (with variable row numbers) and the other in sheet2 B:B (again with varying number of rows)
I am trying to gather a master list of unique serial numbers in sheet3, C:C.
So far I have tried advanced filter, union.range, etc. but couldn't figure work it. I guess some of these columns need to have names assigned to it and have a header.
View 9 Replies
View Related
Dec 26, 2013
I'll need to pick up the rates from sheets "SYD" & "BNE" by info from column A of "Summary", which means if the info in column A is "sydney", the formula should pick up the rates from sheet "SYD", if it's "brisbane", the formula should pick up the rates from sheet "BNE".Also, the rate should be matched by the column B,C & D from "summary" page.
View 8 Replies
View Related
Dec 27, 2012
What I would like to do is combine all data (from sheet: Page1,Page2, and Page3) into one sheet named 'Consolidated'. Unfortunately, as you will see from the attached file, my programming and understanding of VBA programming is pretty naive.
What I am after is, when I combine the data, from all sheets into the one, the data should be
1. Automatically Sorted by Patient Name
2. Group, results of the same patient from all sheets one below the other in seperate rows
3. Delete any other rows that may have a patient name and ID, but rest of the rows (New Mole,Clinically Suspicious......Benign Naevus) are blank. (This happens because of the way I have designed my userform. For first visit the details are entered in Page 1, then for second Visit Details are entered in Page2, and for third visit in Page 3. So when I enter the first visit details, the Patient Name and Patient Number are copied into Page 2 and Page 3 even though the other details remain blank. I have done it this way because, if say the Patient comes for visit the second time, the clinician may or may not be aware which visit this would be for the patient. So as soon as they enter patient number, it will give them a message that Patient already exists. So when they click Open Existing Patient Record, the form autopopulates with any notes from their previous visit into the respective page (i.e Page 1,Page 2 or Page 3).
Page 1 (Page 2 and Page 3 are exactly the same)
Patient Name
Patient Number
New Mole
Clinically suspicious
Changed from mapping Photo
Level of Suspicion: Score
Monitor
[code].....
View 3 Replies
View Related
Jan 29, 2009
I want to auto fill certain columns in sheet A from sheet B & sheet C based on conditions
For Eg:
Sheet A:
Position#
Position Name
Personnel Name
Personnel No.
AB1
Manager
AB2
I want to auto fill in Sheet A for the columns:
Personnel Name
Personnel No.
Conditions:
If the employee is active in Sheet B then fill in Sheet A to the related position No.
Else
If the employee is mapped to org. (Yes) in Sheet C then fill in Sheet A to the related position No.
Else
Vacancy
i have written the below formula but not working properly:
=IF(VLOOKUP(SheetA!A4,Direct!A$2:K$16,5,FALSE)="Active",VLOOKUP(SheetA!A4,Direct!A$2:K$16,3,FALSE),IF(VLOOKUP(SheetA!A2,Contractors!A$2:K$15,5,FALSE)="Yes",VLOOKUP(SheetA!A2,Contractors!A$2:K$15,3,FALSE),"Vacancy"))
View 9 Replies
View Related
Dec 10, 2013
I would like to create a menu representing "tasks" where an amount of "time" can be designated per option for my employees to select and fill. I would like this information to then be tallied elsewhere so I can keep track of our efficiency.
So far, I've created a table where a "time" input is nested beside each "task" drop down menu, I would like these inputs to be added up underneath the same category on the budget tab.
For example: If I work Monday, Tuesday and Wednesday doing tiling.. I would like the budget to reflect those accumulated hours (throughout the week) nested under "tiling".
Here's the file, what I'm trying to accomplish [URL] ............
View 1 Replies
View Related
Mar 24, 2014
I have a workbook with three sheets: Collections, Client and Interest New sheets created from a range in Sheets("Interest"). The range in Sheets("Interest") holds the client names.
Then the template in Sheets("Client") is copied and pasted into the new sheets
For each new sheets cell B6 holds the client name and .Range("A10:A1317") holds the dates
Sheets("Collections").Range("D10:D1317") holds the dates and .Range("D8:WC8") holds the Client Names
if Sheets("Collections").Range("D8:WC8") = new sheet.cells(6, 4) then
if Sheets("Collections").Range("D10:D1317") = new sheet .range("A10:A1317") then
copy the value in Sheets("Collections").Range("D10:WC10").offset(0, 3) to new sheet .Range("C10:C1317")
end if
move down on row and repeat the steps.
View 8 Replies
View Related