I want to be able to lookup if anywhere in a cell contains a word from a list of words, and then provides an output.
Column G: VAT payment HMRC payment Pay VAT
I have a table on the side that shows: Column Y Column Z VATHMRC HMRC HMRC
ie. If anything in column G matches one of the words in Column Y, then output the Column Z. I have use a Vlookup that works for the first two, as VAT is the first thing, but dont know how to make it work if the key word is in the middle of the cell.
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.
I am trying to do a sort of index match thing using VBA. What I am attempting to do is to use the prefix of a long number and try to find that exact prefix in a string array, and output that string array value. So this is what I have so far as a test:
[Code].....
So I can match the text exactly so if I put PREFIXB in cell A1 in this example, i will get the msg box saying "YES", but if I make it PREFIXB1231k4j3jj1kj32cj, it will display "NO". I want to get it so that PREFIXB will be displayed in the cell that I put the formula in. So if A1 = "PREFIX1AAA100CF" and cell B1 = "=ABC(A1)", cell B1 will display "PREFIX1AAA".
Now the thing is that these prefixes can have different lengths, but will never encompass the exact prefix of another. So if I had a prefix of: PRE1AB, I won't have a prefix of PRE1A.
trying to output a 1x10 array of the function FwdRate. The inputs are all 1x10 horizontal ranges of numbers. So for example to calculate FwdRate 1 I need to take the first values from each of the input ranges and enter them into the formula below ! Where am I going wrong as all I get is the VALUE error when I press ctrl+shift+enter ?
Option Explicit Function FwdRate(Tau As Range, f1 As Range, dtau As Range, vol1 As Range, vol2 As Range, vol3 As Range, m As Range) As Variant Dim VArray() As Double Dim i As Integer Dim n As Integer Dim dt As Double Dim X1, X2, X3 As Double
I am trying to get a list of states, based on their expiration date.
I have all 51 states listed, some states have 2, 3 or more licenses, so I created a column that I hid of the state abbreviation, for the use of formulas.
If the license expires in 30 days or less I want to display the state abbreviation. I couldnt figure out how to do an array output, so this is what I am trying to come up with.
Writing a formule to lookup for a value and return more than one result,
Example
Col A has Names, Col B has ID number, in Col C I need the output to look for names in col A and return the ID from Col B, I can use a VLOOKUP for this but the problem when col A has a name repeating more that once, In this serinario the lookup picks the first name and gives the first ID
Here is how I want the out put to be as:
Names ID Output John 1 1,3,6 Mathew 2 2 John 3 1,3,6 Mike 4 4 Bob 5 5 John 6 1,3,6
I have a long list of values, a few thousand lines, that I need to input into an array so I can run a formula on the values in the array and then take those results and put them into another array which I can then call to output down a different column. Is there a faster way to accomplish this than the typical For Loop with the activecell.value and activecell.offset commands, that just takes forever.
I created a Vlookup table so that when you type a ticker into Cell B3, it tells the user how many points and what percentage of the criteria the stock passes. I would like to create a macro (or something) that takes each ticker in the Ticker sheet, enters it in the Cell B3, and then transfers the data that the vlookup table produces to the output sheet. My attachment is a simplified version of the real spreadsheet.
I hope this isn't a duplicate question. I did look, but maybe I'm not phrasing it correctly. A reference to a similar problem works too.
i am trying to create an Array that will print the stock number as a title on row A. e.g. "Stock 1" in A2 "Stock 2" in A3...etc. here is what i have attempted:
I am struggling to begin designing a program to use for quoting sheet metal parts. We buy three types of material in 9 different thickness. The material is purchased by weight but I sell it by square foot.
I tried a few training exercises using macros but I dont believe macros is the proper function to achieve my output.
in the above table I need to the sum of WC for each Language code & batch no. eg. for Language "id" & batch 1 I need to get the SUM of WC corresponding to the criteria.
What I need is a script or formula with returns multiple results and puts them into one cell.
The Excel is used as a Project Managment Work Sheet for Resources, working on different Projects and their dedicated hours
The raw data table looks like this: Column A: Project Name (=AllProjectsLists) Column E: Resource Name (=MasterDataResources) Column P: values from 0 to 8 (hours)
First I need to check per row the Resource Name. If the Resource Name is a match, than I need to check if in column P the value is bigger than 0. The result goes into a different sheet per row, one result per Resource, but the multiple results should be shown in one cell.
So the result should be something like:
Resource name "Thomas" .... Projects working on: "Project 1, Project 5, Project 13, ..." (in one cell) Resource name "Mary" .... Projects working on: "Project 3, Project 9, Project 13, ..." (in one cell)
I tried with this one, but it only returns one vale per cell:
I haven't used List Boxes much previously but decided to use one in this instance because I wanted the capability to make multiple selections. I used the following in a list box called "ListBox_Analysis_Code":
What I'm trying to do. I have two separate requirements:
(1) To add the whole array to a listbox on form initialization - see Sub UserForm_Initialize() (2) To clear the listbox and re-add only certain items based on what's typed in a textbox - see Sub txtSearchTerm_Change()
I have two errors:
Error 1 in UserForm_Initialize()
The listbox contents need transposing! It is displaying as
Code: 1 2 3 4 5 Tom Ben Heidi Julie Mark Smith Jones Evans Simpson Petersen x@yo.com a@bo.com c@do.com e@fo.com g@ho.com 02071001022 02071001026 02071001027 02071001028 02071001029 Friend
When it should be displaying as : Code: 1 Tom Smith x@yo.com 02071001022 Friend 2 Ben Jones a@bo.com 02071001026
Is there a way to transpose the array?
Error 2 in txtSearchTerm_Change()
I cannot find anywhere - even on MSDN - all the information I need how to correctly add a single record to a multiple-column listbox! What I'm trying is:
Code: For i = 0 To UBound(SearchList) If InStr(1, SearchList(i), SearchTerm) 0 Then With lstPeople .AddItem For j = 0 To UBound(PeopleList, 1) .List(c, j).Value = PeopleList(j, i)
[Code] ......
How do I add a record to the listbox????
Full code for reference:
Option Explicit
Private PeopleList As Variant Private SearchList As Variant Private Sub UserForm_Initialize()
I seek advice on using the value of NOW() as a record ID in an address book program. Question #1: Do Excel developers often use a record ID? Question #2: What record ID schemes are fequently employed besides date/time? I have decided to create an Excel address book as an exercise to increase my knowledge of VBA, and also as a useful application for work.
I realize that a record ID is not essential in Excel in the way that it is essential in Access, but I feel the need to have some unique ID associated with each address, so that I may have different worksheets, with data related to a given Contact, sort and manipulate it, if necessary, but have the record ID as a way to restore the relationship of rows to a given Contact, and also, as a handy way to examine the data in the date/time sequence in which it was entered. I have experimented with the following code, to assure myself that I can access the number returned by the NOW() function, manipulate it as a string, and format in various ways if necessary.
Dim n As Double n = Now() sn = Str(n) p = InStr(sn, ".") first = Left(sn, (p - 1)) l = Len(sn) d = l - p S = Mid(sn, (p + 1), d)....................
I am creating an asset management sheet. For the formula I am trying to work out there uses 3 fields : ID, start date, and end date.
What I want to do is be able to show if the ID is duplicated within another record with an overlapping date. So an item is flagged if it is in the list within the same dates as another record. I tried a few countif formulas but with no success.. I may just be approaching the problem incorrectly though.
I have two columns of data, one containing Groups, another containing Items. Like this:
Group | Item A | Apple A | Orange B | Pear B | Banana C | Tire D | Coffee
etc.
On another sheet, I have each of the groups listed as column headings. I want to resort the data and display it in columns instead of in a single list.
I can write a VLOOKUP to search for "B" for example, and return "Pear", but I want to return all matches for "B" not just the first one.
I have 40 or so case studies on one worksheet. Each case has four columns- the first is the year, and the next three are values for that year. Each study is 140 years long, but they don't all start in the same year. What I want to do is pluck all the values from the fourth column of each study, and total them up for each year.
Basically I want to return an array (to pass to another function) containing all data that matches my search. E.g. I want to retrieve an array of the data that matches 2013-09-20. Is the only way to do this a VBA func?
I need a look-up function that can return a value from an array that can be 3 to 7 rows in height. I want the function to always look at the last row in the array.
This is how it looks:
Column A Column B blank row 1000 A B C SUM 15 blank row
In this case I want the function to return 15 if I search for 1000. The problem is that there are not always a fixed number of rows beneath the searched value.
I have 40 or so case studies on one worksheet. Each case has four columns- the first is the year, and the next three are values for that year. Each study is 140 years long, but they don't all start in the same year. What I want to do is pluck all the values from the fourth column of each study, and total them up for each year.
Here's how the sheet is set up- row 6 is a header row with four repeating column heads- year, value1, value2, value3. So year is in col A, E, I, M, Q, etc. up to FM. Value3, the one that I want totaled is in col D, H, L, P, etc up to FP. Each year column begins with a different year, (with some repeats) but each is 141 rows long, so that the first study begins in 1994 and ends in 2134, the second is from 1985-2125, the third is from 1991-2131, etc. I want excel to find all the value3's from 2007 and total them, all the value3's from 2008 and total those, up through 2145. The data range is A7:FP147. I tried adjusting some of the suggestions, but no luck. I was thinking I'd have column FQ with all the years 2007 on, and FR by the total of all the value3's from that year.
I am looking to write a macro that can look at a value (i.e. "X") in a cell and compare it to the elements in a 2D array (where one dimension corresponds to the start value and the other to the end value) that is found on another worksheet. If "X" falls between the starting and ending numbers then I would like the macro to return a string (say "Test1") to a cell on the same row and a couple of columns to the left. The string values are listed to the left of the start and end values on the first worksheet and are elements to a 1D array. I am trying to make this " loop" through all the cells that contain run numbers (I have highlighted the columns in yellow on the attached workbook). There are multiple (i.e. +12) worksheets in this project but I have only included two in the sample I am providing because of file size.