How To Find 4th Value Using Three Criteria Found In Same Row
Jul 26, 2013
I have a spreadsheet that is about 500 rows and 70 columns big. I am trying to make a formula that lets me name three criteria from the same row, and using that find a value in that same row but different column. I am trying to find the the ampage of a motor. I am given the capacity, speed, and RPM's it can handle. However there are multiple rows that have these same values. I want to find the row with the greatest ampage value and take that value. How might I go about doing this?? Ive tried working with Index, Match, Vlookup, and Hlookup and cannot figure out the correct combination of these.
Heres an example. My capacity is Column A, my speed is in column B, and my RPM is in column S. I am trying to find the amps which are located in column AB. My first three values(capacity, speed, and RPM) are all deteremined and there are 6 rows in which all three of these values occur. I want to find the max amps in a row with those three criteria.
I have data in cells B2:E2 and this can go down 100+ rows.
In column B i have invoice numbers but some cells contain the word "Deposit".
I have sorted this data so that the invoice numbers appear first and then all the Deposits.
I need a code to find the first instance of the word "Deposit" and to insert a row so that all the invoices and Deposits are seperated by a single row.
I'm having problems with trying to find something in the spreadsheet and inserting a row before it. For example I would like write code that basically goes threw my rows and if it finds the "2800" then it inserts a row before that. I have now bought several books but I have yet to come up with an answer.
I'm trying to write some VBA which will allow me to find certain instances of data across a number of different sheets and copy this into another sheet.
However if the sheet doesn't contain the data I'm searching for an error pops up and the macro dies, is there a way to search where if the macro doesn't find anything it skips to the next line?
I have a advanced filter that works pretty much close to how I want it to. However I would like it to either cancel the new filter or copy everything if it finds 0 matches.
If the copied location is blank it breaks my sheet. So I need to find a way for it to never be blank, either by canceling it, copying everything, or finding some other way I haven't thought of.
Also for some reason my Advanced Filter does NOT Ignore blank "OR" cells. If I place a word in the top cell, then leave the bottom blank, it searches for the top cell or anything and I end up with everything. Its quite frustrating.
I'm trying to use the .Find and .FindNext functions to find how many cells in Worksheet("WAS") have the same value as the ActiveCell (B3 in this case) on the Worksheet("DDS"). Basically i'm just trying to figure out how many times this sub goes through the Do While loop. However, "tick" keeps coming back as a value of 1. I know there's something I must be doing wrong or something i'm not allowed to do but i'm still pretty new at this.
I have some EXCEL files, titled as "AAA", "BBB", "CCC", so on... Calculated values are placed in Column Z for each file. In order for me to export the files to another software, I would need to create another new EXCEL file (I call it MASS) and place all the calculated values in that new file. In that new file, the titles have to be on Column A and the calculated values on Column B.
For example, File "AAA" has 120 calculated values. In MASS, the word "AAA" has to appear on Column A a number of 120 times and the 120 calculated values are then placed on Column B. Each value must correspond to the word "AAA". The same procedure goes for "BBB", in which the word "BBB" is placed on Column A after the end of "AAA". What I want to achieve is by using a macro that will look up the title of the Active Worksheet and then scan Column A in MASS. If the title matches whatever is in Column A, then the macro will paste the corresponding calculated values onto Column B automatically.
For example, for file "GGG", the macro will look up the word "GGG", scan through Column A in MASS for the start of the word "GGG" and paste the calculated values at the start of Column B. Could I have an idea of how might the macro looks like?
My worksheet contains several codes that I then have to lookup in a different worksheet in a different workbook to obtain the relevant data associated with that code. At present I do this by activating the appropriate worksheet, Using Find to locate the appropriate field in that worksheet and then using activecell.offset to get the needed data. This is the only time that these worksheets ever need to be activated so I was wondering if there is a way to do this without having to actually activate the sheet. As an exapmle this is what I currently do:
' variables defined earlier in the program, Tempsheet = workbooks(FileNm & ".xls").worksheet("Temp")
Spark = Cells(TRow, 8).Value ' Activate the reference Sheet Workbooks("Waveguide Properties.xls").Worksheets("Spark Bends").Activate Cells.Find(What:=Spark).Activate COM = ActiveCell.Offset(0, 2).Value Edge = ActiveCell.Offset(0, 3).Value SparkArray(i, 1) = ActiveCell.Offset(0, 1).Value SparkArray(i, 5) = ActiveCell.Offset(0, 4).Value SparkArray(i, 6) = Spark ' Reactiave the workbook and worksheet I am working in TempSheet.Activate
I am trying to write a match function to return the row of the value I search for. It is properly returning the value of the row I searched for. What I need to know is how do I get it to spit out information in the rest of the row. Here is my code so far:
Sub Rectangle2_Click() Dim x As Long Dim Row As Long
' Brings up input box x = InputBox("Please Enter Tool Information", "Search")
'Exits if nothing is entered in the text box 'If x = "" Then Exit Sub 'MsgBox (SearchString) 'SearchString = x MsgBox (x)
That gives me a Type mismatch error when I uncomment it out.
Something I was adviced of before in a situation like this way to Concatenate the columns, e.g =A2&B2&C2&D2&E2&F2 in a far left column (insert 1 if needed).
That was supposed to be so that I can search through multiple columns. When I do that to test it, it never comes up with results. It always comes back as 0 meaning it wasn't found.
I'm writing some code where I need to know the column in which a specifc text string occurs. Because of the nature of the sheet, the string will only appear in one column, but that could be in almost any column on the worksheet.
For example say the text string is "Year 1", I need to find the column with this string, and then offset down to a predetermined row, or offset over to the appropriate column (something like below).
With Selection .Offset(0, x).Select If List.Selected(0) = True Then y = i - 1 With Selection .Value = Salary * Inflation1 ^ y End With Else
When I use VLOOKUP formula within a VBA routine ex: For LoopCounter = 1 to LastRow With Worksheets("0MATERIAL") .Cells(RowCounter, 5).FormulaR1C1 = "VLOOKUP(RC[-2],'0MAT_UNIT'!R1C1:R65520C12,4,FALSE)" End With RowCounter = RowCounter + 1 Next LoopCounter
How can I find out what row or cell address that the VLOOKUP found the data? The above code works perfectly but the problem is I need data from that same row in columns 4-11. I replicated the .Cells line above and made each one a VLOOKUP (for column 4, 5, 6, etc...) but this kills the performance. I have around 32,000 rows in sheet 0MATERIAL and around 50,000 rows within sheet 0MAT_UNIT
I'm looking for a formula, which says if a number is within a range, perform a calculation. I have a table of ranges (0-6000,6001-10000,10000-12000, and so on). My formula looks at the current month cumulative balance, and inserts the value into the line of the range it falls into. However, the formula now contains lots of nested "IF" statements, due to the number of ranges I have. Also, if my cummulative balance is 6005 for example, but was 5005 in the previous month, I would like to see 95 in the 0-6000 row, and 5 in the 6000-10000 row. I making a complete nonsense of trying to explain myself, so I'll attach a quick example of what I'd like to see.
I want to find the subtotal amount on one worksheet, which is two columns over from the text, "Sub Total:" on the same row. The subtotal line floats up and down each week. Once I can find the subtotal I want to populate another worksheet with the data.
I want to set range a entire column,the rows are dynamic and i want to do it on all the columns in the sheet, my problem is that after i set the range(i hope i did good) i want to do a average of the range and to put the result in a new sheet on a row. I'm sorry for the mess in the code its one of my first macros
Option Explicit Sub Average() Dim R As Integer Dim help As String Dim Range1 As Range Dim E As Integer Dim Avg As Integer R = 1 '/////CREATE NEW SHEET AND COPY THE FIRST TWO ROWS TO THE NEW ONE Sheets("UXP data").Select 'Sheets.Add Sheets("UXP data").Select......................
I have the following macro which I've pieced together which works great at clearing the cell as long as the text entered by the user is found in the specified column.
Unfortunately I'm a big rookie with this stuff and I can't figure out how to handle the process/error when an entered value is not found. When ChosenRow returns with a 0 I get a Run time error '91', Object Variable or With Block variable not set.
The code...
Private Sub CommandButton1_Click() oldSheet$ = ActiveSheet.Name Dim ChosenRow As Long Dim loc As Variant Application. ScreenUpdating = False With UserForm4 loc = .TextBox1.Text End With With ActiveWorkbook Sheets("Reference").Select End With
Cells. Find(What:=searchterm, After:=Cells(1, 1), MatchCase:=False).Activate 'find pn that is stored in searchterm
causes a runtime error 91 when there are no results. "Object variable or with block variable not set"
Ideally, when there are no results, I would like to enter a loop, where I could provide a drop down list of fuzzy matches, but I am not sure excel can do fuzzy matches. I'd settle for just highlighting the row and moving on... any help?
Option Explicit
Sub Macro1()
ActiveSheet.Cells.Find(What:="AES", After:=Cells(1, 1), MatchCase:=False).Activate 'find the aes part number column Dim aescolumn 'create variable for index value of aes column aescolumn = ActiveCell.Column 'set variable to index number
Looking to find 1 of 2 words in a cell in column B and return the word found in the same row in column E. This seemed easy but I am not having any luck.
the cells in column B have several words in them but I am looking for 2 specific words "PLAT" and "ORIG". If the word is not in the cell, it should show a blank cell in column E in the same row, otherwise one of the 2 words should be in that row in column E. A VBA loop would be ideal but a formula that can do it might work as well.
I have a file that the user selects and when they enter a value (in this case, a job title) into the input box, my macro looks for the value in that file. If the value is there, a msgbox pops up that lets the user know that the value was found and it then goes to that cell, displaying in the next msgbox the cell address of where the value was found. I already have the code down for this part of the macro.
My problem is what happens if the file has the same value more than once. Ideally, I'd like to display a message box that returns the addresses of both cells with the same value and then prompts the user to select one of these values as the value they are looking for. I am not sure if a msgbox or a msgbox and then an input box are most appropriate for this situation. Once the user does this, the macro continues. The rest of my macro is built on the cell where this value is, so it is crucial that I make sure there is at least one value selected. Any help is much appreciated. I have included a sample worksheet of what this situation might look like.
Here is the code I presently have for this part of my macro.
Sub GetOpenFileName() strFind = InputBox("Please enter the job title you wish to search for:", "Search for job title in this file")
If strFind = vbNullString Then Exit Sub
With Sheets(strSheetsMainCompProfile) If WorksheetFunction. CountIf(Range(Cells(1, 1), Cells(100, 100)), "*" & strFind & "*") = 0 Then MsgBox strFind & " cannot be found on this sheet" Else
I am trying to clean up and simplify my macros by compartmentalizing frequently repeated commands. I like to search for text in column headings and define the cell containing it as a range that I can later use .column or .row commands on, so my macros are a bit more flexible. The code I currently use for this is
Dim XColumn As Range ‘the cell containing the text “X” Cells.Select Selection.Find(What:="X", After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate Set XColumn = ActiveCell
I would like to be able to create a Macro (possibly name FindSetCell()) that will accept arguments and achieve the results of the above code in other macros I think the command might look something like FindSetCell(“text to be searched for”,”name of newly Defined Range”) But I have not figured out how to code it
I have one worksheet in, which I have to show the accumulated amount found in another worksheet within the same workbook where the value added will be accumulated only when the criteria is met. I have enclosed herewith a sample of what I am trying to do since it is long to explain in writing. As the chinese proverb says: "better see once than hearing/reading 1000 of words.
I have found many posts similar to what I am trying to accomplish, but nothing that I have been able to modify and make work. I need a VBA script that will find a cell with the text data "Difference" and copy the adjacent (to the right) cell's data. I then need to find a cell with text data "Ops" and paste the previous data to it's adjacent cell.
I recently became owner of a spreadsheet with some issues, and I am trying to make it useful. Each row has a URL of a blog post, and I want to extract the date from it (which is present in each URL) while getting rid of the rest of the URL. I was able to get rid of everything up to the year (which comes first), but then the URL continues, for example, 2013/05/16/the-rest-of-the-url/ and I would like to just have 2013/05/16 remain.
I am trying to use find and replace with the find box reading 2013/??/??/*/ and replacing it with 2013/??/?? which effectively erases everything else in the url, but leaves ?? instead of the numbers. Is there any way to have it so that it keeps whatever was in the original box?