Getting A Loop Including "find" To End When It Gets Back To The First Result
Jul 2, 2009I am wondering why the loop at the end of this macro loops endlessly.
View 3 RepliesI am wondering why the loop at the end of this macro loops endlessly.
View 3 RepliesCol ACol BCol CCol DCol ECol F
row 1811TAX CONSIDERATIONS1TAX CONSIDERATIONS
row 1911TAX CONSIDERATIONS#N/A
row 2011TAX CONSIDERATIONS#N/A
row 2121FLYING FALCON1TAX CONSIDERATIONS
row 2221FLYING FALCON#N/A
row 2321FLYING FALCON#N/A
row 2431IN COMMAND1TAX CONSIDERATIONS
row 2531IN COMMAND#N/A
row 2631IN COMMAND#N/A
I have 5 coulmns of data and in col F I have the following formula in row 18
=VLOOKUP(E18,$C$18:$D$800,2,FALSE)
the results come back " TAX CONSIDERATIONS"
however the same results comes back in row 21 and row 24......how can I modify this lookup to change when column B changes
I am doing a control F search on a value that does not come back with a result. But the value exists in the sheet. I have multiple columns and rows (over 22,000 rows). Are there limits to how much you can search using control F?
View 2 Replies View RelatedI am new in Excel VBA and im trying to find a way to get back a result "True" or "False" when I have password, wich must consist of 6 letter, one upper case letter and a number must be in it. When this word consist of 6 letters and has a uppercase letter and number the result is True and this will be written into the cell next to the cell where the password is.
View 2 Replies View RelatedI need to copy a changing source cell, paste its value into another specific cell (always the same), and then return to the source cell for continued action (ie range selection, copy & value paste, which I can code).
This action is then followed in the next cell to the R of the first cell copied, etc to end of data. I can code the move to the R.
How do I return to the source cells as part of a loop?
Specific notes included in attached - I hope I've explained it clearly.
I have a database application which appends an "A" to the sequence number each time an entry is amended and then posts it as a new row in the database. This means there can be multiple entries with the same number but with different amount of "A"'s afterwards.
e.g.
Cell A6 contains seq no 1
Cell A7 contains seq no 2 - Seq no 1 is subsequently amended so...
Cell A8 contains seq no 1A - 1A is subsequently amended so...
Cell A9 contains seq no 1AA - and so on and so forth..........
What i am trying to achieve is a formula which will look at the record number which is required (i.e. 1) and will search for record 1 with the most number of "A"'s appended. This way the user will only be amending the most up to date record.
The formula i have tried (but doesn't work) is:
=INDEX(A6:A65536,MATCH(B2&MAX(LEN(A6:A65536)),A6:A65536,1),0)
(B2 is the record the user wants to amend)
I have a worksheet with pricing & part numbers on sheet1. I put a formula on sheet2 that puts the lowest price in colum C of sheet2. Now I need to also get the part number from the cell before. So if the lowest price is in cell E3 I need to also get the part number in D3, and put it in B3.
I'm currently working on a program in which some sort of recursive looping seems logical.
The relevant part of the code I've currently written looks like this:
Sub hello()
Dim Max_stream As Integer
Dim j, jj As Integer
Dim P_sum, P_min As Double
Dim antal_in, antal_ut, rad_in, rad_ut, ut1, ut2 As Integer
Application. ScreenUpdating = False
Max_stream = WorksheetFunction.Max(Worksheets("Data"). Range("B65536").End(xlUp).Value)
For j = 1 To Max_stream
The problem with the code above is the last If, in which the function "rekursivloop" calls itself. I don't know if this type of formulation is correct, but for the cases the If condition is TRUE (ie ut1 <> ""), the function does not return any answer. Does anyone see an error in the logic or have some example for how to write similar recursive loops?
I've been trying to loop data for column A from row 1 until 6 and print the result on specified cell. But the problem is, it keeps looping until column B,C and D.
I want to calculate average result separately for column B,C, and D without taking the previous data.
Here is the code that I've done.
VB:
Sub Avg()
col = 1
Row = 1
Do
Name = ThisWorkbook.Sheets("Sheet2").Cells(Row, col).Value
If Name <> "#" Then
[Code] ....
I attached my excel. The green box indicate the result that I want : function.xls
In the attached sheet I need to check on the Destination in column B, and if it matches set criteria, divide the figure in Column E by 2. eg If LAX is the destination, then for any rows directly under LAX until the next destination appears, column E needs to equal column D divided by 2. If the Destination is not LAX, then Column E equals Column D.
the difficulty I am having is that there can be a variety of row numbers for each destination. I am having trouble creating a formula that can basically work backwards from Row-1 in column B until it gets to a text string, and check that text string against the criteria. so it may be row -1 up to about row -9 dependant on the number of flight times available to each destination throughout the week.
Median Indirect: I would like to find the median in a range of cells and then bring back the 2 adjacent cells
Range...............Adj Cell 1............Adj Cell 2
1.......................L1......................L2
2.......................P3......................P4
3.......................O9......................010
So the median of the range is 2, thus we would want the formulas to bring back P3 and p4
Column 1..............Column 2
P3...........................P4
I need a formula to check a range of parts and bring back a value of 0 if matched or the value in another cell if it doesn't match.
Part number H-200-3
Part number H-200-3-A
Part number H-200-3-B
If I enter any of the above part numbers then cell B1 returns 0 if it is a different part number then B1 would need to match cell A1.
I'm trying to use this Find Method and combine it with a countif or loop. Something that will count a number of occurences of a unique type of character. I'm looking to find all "F" characters in Bold, Italic and Size 16. Here's my find code that I'm trying to use. I can get it to work by itself but not along with a countif or loop.
Sub count_4()
Dim r As Range
Set r = Range("A1:A6")
With Application.FindFormat.Font
.Bold = True
.Italic = True
.Size = 16
End With
r.Find(What:="F", LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, searchformat:=True, MatchCase:=True).Activate
End Sub
I have 2 spreadsheets. One is a promotion calendar that lists the dates that promotions on a certain product runs. The other is a shipment grid of shipments of that product to the customer.
I want VLookup to find the customer and the dates and then bring me back an asterisk in a separate column to show me that that certain week that product was delivered was a promotion week. The problem I have is using Vlookup to lookup 2 things at once (and if they match to the promotion calendar) and return me an asterisk.
Here is my formula now:
=IF(VLOOKUP(J2&" "&L2,'East Data'!M:AU,2,FALSE),"*",0)
J2 is the customer name
L2 is the week
"East Data" is the spreadsheet with all of the promotions and customers.
For example
Name Address Phone # zip
Danielle 4561
Danielle 9852
Danielle 22
Danielle 69
Joe 895
Joe 28
John 9821
John 1114
John 698
Say I did a search for Joe. I want to report back all the addresses in which he resided but there's no way to tell how many rows of data each person has. Joe has 2 rows, Danielle has 4 rows and John has three. How do I report back all the relevant rows?
I have a layout something like the following:
A1
A2
A3
[Code]....
Where each (i.e., A1) represents a location. I have tried to use a coordinate system but this will not work for the back-to-back locations. (Assuming each location is 2 feet wide, For example A1 to C1 is 4 feet apart, not 2 feet (as Euclidean or rectilinear would calculate it as).
Would there be a way to incorporate an if statement for those locations that are back-to-back? As a rectilinear distance calculation would work as long as the locations are not part of the same "block".
Ultimately I am looking to have a matrix which contains all the distances between each location:
A1
A2
A3
B1
[Code].....
I want to create a Pivot table, and is now working on the data sheet. In this, every salesman have one row each day containing their sales result that day.
I have data in 3 columns. In column A the date, column B contains the Name of the salesman and column C the sales result that day. Now I want to update column D with each salesman's best result. I want each row to contain the top result for that particular salesman.
Date | Name | Result | Top result
1/10 | Pete I | 11.111 |
2/10 | Pete I | 19.100 |
3/10 | Pete I | 23.408 |
4/10 | Pete I | 16.774 |
1/10 | Sara G | 10.884 |
2/10 | Sara G | 10.739 |
3/10 | Sara G | 36.469 |...................
creating a .Find code to search a range on a sheet and then display each result seperately in a msgbox. An inputbox will be the value .find searches the range for.
the msgbox needs to be a vbyesno
VB:
'SEARCH CODE
Dim myItem As String, myRNG As Range, NewLoc As String
Dim Found As Range [code].....
Basically, what I want is to find the earliest EPSI1MN and its associated EPSI1YR and EPSI1NE, within the same period of EPSI1YR and then store the results in a separate sheet. This process is to be repeated for 12 years of data, covering more than 4000 companies.
View 3 Replies View RelatedI have the following formula but would like the result to be blank if it can't find anything. I know I need to use the iserror function but I don't know how to use it.
Can anyone help me?
=VLOOKUP(CONCATENATE($A$3,$B$3,$A7),Sheet1!$A$6:$R9987,$A$1,0)
I am using the find method to search column headings, and based on the results copy the column to another worksheet. Everything works fine except if I have a mixed text and numeric string in the cell, for example DT35. In this case the macro doesn't copy this column. I have attached the spreadsheet. CTRL - A will run the macro. The macro calls a form with checkboxes, captioned using the values in the worksheet titled "Set-Up". If a value is found in the column heading the checkbox is set to true, then when the "Copy Selected Columns to Final Sheet" button is selected the columns are copied to the "FinalSheet" worksheet. I tried using xlPart instead of xlWhole, and this works but I need to search for exact strings so xlPart isn't a great work around.
View 4 Replies View RelatedI have two workbooks Raw File and Lookup_Test, I want to find the value of Column A from Raw File, in Column A of Lookup_Test, if the value if found then i want the value in Column D from Lookup_Test, to be copied to the Column B of Raw File .
Well its like using vlookup , however i am trying to avoid using Vlookup and find any other way of doing the same.
I need help using the vlookup formula when there is 2 values that needs to be looked up to find the result.
for ex:
I need the result from Column "C1" which is the price from sheet2 by looking up the color, navy which is in Column B1 on sheet2 & looking up shirts which is in Column A1 on sheet2.
I'd like to search for text and get the column character where the cell with the found text. The combination the two 'demands'/formulae into one are giving me problems. And the fact that the column character can exist out of two characters I cannot solve.
I can get the column number with HLookup right? and it gives me the column number, not the character. I can solve this partially (and ugly even more) with =Char(((Hlookup etc)+64 (letter before A))).
Dim myDynRange As Range
Dim myLastRow As Integer
Range("H:H").Select
myLastRow = Range("H:H"). CurrentRegion.Rows.Count
myFirstCell = Cells(Counter, 8).Address
myLastCell = Cells(myLastRow, 8).Address
myDynRange = myFirstCell & myLastCell
im having a problem with the last line
myDynRange = myFirstCell & myLastCell
my eventual aim is to do an average on this column with a line like
ActiveCell.Offset(Counter, 1).Value = Application.WorksheetFunction.average(myDynRange)
the reason why my range declaration is so strage is because i was trying to change the dimensions of the range with an offset function because i had many ranges to average but the offset function didnt want to work. this way goes like this....................
I am using VLOOKUP to find the size of a cam to be installed in a tablet press, based on the product code it will be running.
The array has two columns: (W) Product Code, (X) Cam Size.
Array: W4:X437
The user selects the Product Code from a drop-down list in cell E5.
The resulting Cam Size is displayed in cell E7. The VLOOKUP works fine.
=IFERROR(VLOOKUP(E5,W4:X437,2,FALSE),"")
Occasionally, the cam size has to be updated. The user would then select a new cam size from a drop-down list in cell E9.
I have a "Update Cam Size" command button.
What I need to happen is for the value in E9 to replace the value in the array that is displayed in E7. Obviously, I have to know the location of the cell in the array, but I can't figure that part out. I've tried ADDRESS and MATCH functions, but it comes back with "#N/A" Value not available error.
=ADDRESS(MATCH(E7,W4:X437,0),2)
Average.xlsxHi
I have changed the attachment to use CSV's
I am trying to create a report that I can enter the codes I am looking for and the formula will search the sheets within the report and once the results are found then find the average of those results.
What I am trying to do is search the codes from Sheet 1 under Outlet and ESA(in Blue) in sheet A,B and C. The problem is the ESA code seen in column I of A,B,C is only used when column L is empty in A,B,C.
Once the relevant codes are found I then need to look for the KPI's seen in sheet 1 B4, B6 and B8, they can be found in A,B,C in column R. then the result comes from column S in A,B or C.
Once the result is found for each code I want to find the average of them, with the answer to populate in yellow in sheet 1
I want the formula to be able to handle more or less codes as well as adjust the formula so I can add more sheets(possible D,E,F,G etc)
I have a table with subtotals that I need to find the largest value for the subtotal results and then return the cell contents for the corresponding row.
I have attempted to use the hlookup function, but keep getting a #ref error (probably because I am just not that familiar with the entire formula requirements).
I attempted to nest in the 'largest' function to the lookup function, but have so far been stymied....
i have a data sheet and i am trying to store the row value of a user input time. for the most part my code works but for certain times it returns a 0. it seems like times which end with a 3 are not returning any value.
my code looks kind of like this:
Dim StartA As Date
StartA = InputBox("First start time (ex: 2:30pm)")
For i = 1 To 9000
[Code]....
i have a piece of code which i have cobbles together from many different sources, to many to list, but i know I have had some help from some of the people in this forum.
first of, i know some of the code might be a bit shaky, but please bear in mind that i am very, very new to VBA.
basically the code is reading the first usable line of the "Mapping" sheet to get information, then it searches for that information in the "GLEX" sheet. If it finds the information that was searched for in the "GLEX" sheet, it will copy it to the "Calc" sheet. the "Calc" sheet contains a formula that does a sum on everything in the P column. It then takes the value in the P column on the Calc sheet and pasts it into a cell that it reads from the "Mapping" sheet.
If i run the code, it seems to be doing what I want it to do for the first line in the mapping sheet, but how do i make it continue?
If must read the value of the first usable line in the "Mapping" sheet, then search for those values in the GLEX sheet, if it find a match it must copy the whole line to a next sheet and then CONTINUE SEARCHING. the mapping sheet. Once it has search the whole GLEX sheet and copied all the matches to the calc sheet, it must perform the rest of the functions. after everything has been completed for the first line in the Mapping sheet, it must do the same for the second line.
That means that there must be a loop in a loop.
I have also included some sample data.
Sub Accrule()
Sheets("Mapping").Select
Dim Org_Area As Variant
Org_Area = Worksheets("Mapping").Range("A3").Value
Dim Item As Variant
Item = Worksheets("Mapping").Range("B3").Value