I am trying to set up a worksheet which takes keywords from several cells (user populates these cells) and searches all worksheets for these keywords.
for example, i have C1:G1 set up as possible search string entry cells where the user types their text. I need a function which takes the data in whichever of these cells have been filled in (i.e. it may only be in 1 cell, 2 cells or all 5) and searches each worksheet for all cells containing ALL keywords. (as it finds each one, i will highlight the cell, but that part of the code is obviously very easy )
Currently i have this (note, i havent yet figured out how to but the k1 to k5 variables into the search string yet which is why they are set but not used):
At the moment, its not ever looking past worksheet 1 - can anyone see why? and then how to i get it to look for all entered keywords?
I am busy building a spreadsheet that must do the following.
A B C D E
Above is a basic example of the data I am using What the spreadsheet must do is it must search cell B1 for the key word in in cell E1, if it does not find the keyword, it must search the same cell for the keyword in cell E2 and so on if it finds the key word it must return a consatination of cell A1 and the Keyword.
This is easy enough to do using the search function together with a couple of nested IF statements but where the problem comes in is that I am needing to run the search on about 12000 lines using over 10000 key words.
currently I have sheet with a formula in Column A containing 40 nested IFs searching for the first 40 key the same formula in Column B searching for the next 40 keywords and so on but to search 10 000 keywords(Client name or Client number) I am needing to apply this formula to 250 columns over 12000 line which makes the sheet very resource incentive.
How do I streamline this to make the spreadsheet more efficient
Im am trying to create a search marco button that allows me to search in multiple worksheets in one work book. I came across this CODE the first part of it works. It pops open user input box and ask for the word that i would like to search but the this error message pops up Runtime error1004 Method 'range" of object'_Global'failed and i dont know what to do
Private Sub SearchButton_Click() SearchString = InputBox("Enter Search String", "Search") If SearchString = "" Then Exit Sub For Each c In Range(myRange) If InStr(LCase(CStr(c)), LCase(SearchString)) Then
I have a workbook with many many sheets in it. The first sheet contains a single column with about 10,000 different values. I'd like to use each of these as search criteria against ALL data in the other sheets (of which there are a good 50 or so). If matches are found (they don't have to be exact case), then I'd like two things to happen:
1. The rows containing the matched search criteria in the first sheet are highlighted.
2. In the cells adjacent to the search criteria in the first sheet, hyperlinks to the matched data are created and named after the sheet upon which this matched data appears.
I've attached a sample file to this post with ideal sample 'answers' to queries made of the first 2 terms.
I have a workbook with data extracted from our ERP (transaction sheet), and a list of cards (card list sheet) which ties the relevant cards to companies and vehicle.
I would like a macro to extract all transactions in the "transaction" sheet into a new file (see "unit" sheet), with the relevant company name, report dates, vehicle number, card no, date, time, polling point name, volume, unit rate. The "Amount" column will be the volume X unit rate.
Vehicle numbers can only extracted from "card list" sheet, and not found in the "transaction" sheet.
these are the details I need: - all company's transactions details (not sorted in the "transaction" sheet) should be extracted into new individual company's excel file - headings I need are shown in the "Usage" sheet (company name, vehicle number, etc) - depending on the number of transactions, there should be a " subtotal" row below the last transaction (as shown) of each vehicle - with all vehicles extracted from each company, a grand total will be added - filename should be created with company name
I have 6 worksheets with data. Column C of every worksheet is filled with unique Tracking Numbers.
I want to create a 7th worksheet with a search function. Users will be able to type in a Tracking Number (on cell A2), and information associated with that Tracking Number (from Columns A, D, E, F and G of worksheets 1-6) will show up beneath cell A2 on cells A4, B4, C4, D4, and E4.
I love Excel and love learning new things to do in it to create some amazing number-crunching techniques. I have created a workbook with multiple worksheets [one for every month in the year]. I searched this amazing forum and succesfully implemented the search box macro to find and copy the found data on a separate worksheet.
My question is that the macro I found in the this post Creating a Search Box in Excel only searches for the data in one worksheet. How do I tell it to search for the inputted data in all worksheets?
Here is the first part of the macro. I was trying to fiddle around with the strDataShtNm but to no avail.
Sub myFind() 'Standard module code, like: Module1. 'Find my data and list found rows in report! Dim rngData As Object Dim strDataShtNm$, strReportShtNm$, strMySearch$, strMyCell$ Dim lngLstDatCol&, lngLstDatRow&, lngReportLstRow&, lngMyFoundCnt&
On Error GoTo myEnd '*******************************************************************************
strDataShtNm = "Sheet2" 'This is the name of the sheet that has the data! strReportShtNm = "Sheet1" 'This is the name of the report to sheet!
I need to conduct keyword searches in excel and color the keywords a different color without changing the font color of the entire cell. now, i found some code from another thread that does this, but i cant seem to get it to work with more than 2 keywords. i need fine-tuning the provided code to do what i need it to do.
the VBA code i used was this:
I was playing around with the example, the Cat_Mouse.xlsm, and when i modified the 'myList' and 'myColor' arrays, it does not work.
For example, I modified the code to add the word bat:
When i run the macros, the word "Bat" does not become colored red. interestingly enough, when i substitute the word "bat" for the word "hat" in the "myLIST array, the word "hat" does change to the red font.
I am looking to use this code to address keywords in my excel file by coloring all key words red and i have more than 10 key words.
I have a workbook with 6 worksheets in, 5 worksheets contain data whilst the 6th I will use as a search worksheet. The 5 data worksheets contain columns A to J which have text entries in.
What I would like to click a button on the search worksheet, lets call it worksheet 1, and for an inputbox to allow the user to enter a text search. The macro would then search for this text in columns A to J and all rows (or rows with data in) on the 5 data worksheets, and if found, copy the entire contents of those rows where the text is found and paste them into worksheet 1, the search sheet.
I have done a forum search and found a few examples of this type of search but not across multiple worksheets, also I found this code that does search across multiple sheets but does not copy and paste:
VB: Sub Find_Data() Dim datatoFind Dim sheetCount As Integer Dim counter As Integer
I would like to collect a specific information to the 1st page of the workbook.
It should do the following, when i enter a productcode to a cell in the 1st page(data collection), it instantly searches the other worksheets for a similar productcode, if it finds a match then it should bring 3 different cells on the same row to the 1st page.
I have a workbook that contains 18 sheets of data. These worksheets are named according to their respective client names (AAA Shine, Fern Barn, Oracle, etc. for example). On each of these sheets, is a column (Column B), that has a salesperson's name in it (Fred, Joe, Ted, Anne... there are about 10 names total). On each sheet, there are corresponding values for the revenue from that account for each month of the year. Those values appear in Column L (Jan), M(Feb), N(Mar),... W(Dec).
What I would like to have is formula that will look at each sheet, find all the instances of Fred for January, sum them, and report them in a single cell on a different sheet I have called "Summary". The end result will be a total revenue from all customers, for each sales person, by month, in one summary sheet.
As in attached file, I have 5 tables: Table 1: matrix that contains Weight data in each cell Table 2: matrix that contains Code data in each cell Table 3: Relationship between Code and Level data Table 4: Table with relationship between Weight data, Code data and Level data Table 5: I want to populate each cell in Table 5 matrix from getting values from Table 4 by looking up the right value from Table 5 based on : 1) Weight data from corresponding cell in Table 1 2) Code data from corresponding cell in Table 2 3) Code and Level relationship.
for e.g. to get value for Table 5, Worksheet cell B140 ( intersection of A1-A1), 1) corresponding weight is 1.17 as in Table 1 (Weight data) (Worksheet cell B3) 2) corresponding Code is 6 as in Table 2 (Code data) (Worksheet cell B35) 3) Code 6 corresponds to Level 2 (as seen in Table 3)(Worksheet cell A74)
so, looking up the 3 values from Table 4 i.e. Level 2, Code 6, Weight 1.17, one gets cell AR98 with corresponding value. therefore, final value in Table 5, Worksheet cell B140 (intersection of A1-A1) will be equal to $4.00
I have been trying to solve this using Vlookup, Hlookup, Index/Match but am getting confused. Also, not too sure if this can be done in 1 step. New to these excel and these functions
I created yesterday and tested in 5 separate documents and worked fine; I went to use today and it runs (flips through document with no error code) but doesn't change key words to blue/bold anymore. I created in record mode and tweaked because I'm a newbie.
Sub BoldBlueRegionsAcctsMarkets() ' ' BoldBlueRegionsAcctsMarkets Macro ' Makes bold and blue all regions, acct types and market names ' ' Keyboard Shortcut: Ctrl+p ' Cells.Replace What:="NORTHEAST", Replacement:="NORTHEAST", LookAt:=xlPart _ , SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=True Range("A2").Select ..................
Macro - it is currently set up to find a specific text, and activate that cell. From there, the spreadsheet has data in 6 cells in the 6 rows below the active cell. What I need the macro to do is to identify the product based on key words in a range of cells: that is, if any of those cells contain the string "total", than the product type is total, but if "total" is not found, look for keywords such as "alpha" and "beta", to identify the product type. If its not a total product, then i want it to look for "productB", "productc", and so on with relevant keywords until the product is identified.
I think IF(ISNUMBER(SEARCH can be used, but I'm not sure how, and I'm not sure how to search all 6 cells (to make things worse, the number of cells vary, so I'm using the "find" function to figure out the first and last cell that contain data).
I need one formula to copy and paste the checkcard data changing it from this "CHECKCARD XXXXXX5623" to "CHECKCARD 5623", but I need one formula to look for multiple known checkcard numbers. I will have more then one typically in the bank download so I need to search and copy at least two known numbers as shown below.
I am providing the formula that I am using right now, "=IF(ISNUMBER(SEARCH("5623",B3)),RIGHT(B3,41),"")" but it only works for one checkcard number? Also I don't really need to capture the DEBIT or CREDIT that will always be at the end, it would be redundant. If it's easier to write the formula including that data that is no problem. What I want to copy and move into an adjacent cell is in red.
Here is the source data: Row 2 - SONIC DRIVE IN#1531 AUSTIN TXDEBIT FOR CHECKCARD XXXXXX5623 DEBIT Row 3 - JASON'S DELI # 125 Q64 AUSTIN TXDEBIT FOR CHECKCARD XXXXXX9718 DEBIT
I have 3 worksheets in my workbook, these are listings of people in offices, their address and phone numbers. Unfortunatly the acurate data is split between 2 worksheets and I'm trying to gather it into one.
First worksheet has columns: First Name, Last Name & Phone number
Second worksheet: Address, Full name (sometimes more than one people separated by commas)
What I want to do: -Import the First, Last name and Phone from worksheet 1 to the new one. Done! -(Now the complicated part) For each row in the new worksheet, gather the First and Last name together and run a search on the 2nd worksheet's Full Name column (the one that sometimes have more than one name separated by commas) and if a match is found, return the address information on the corresponding row to a specific cell.
Preferably I wanted to do this without the use of VBA as I'm an absolute beginner in the language.
I've been writing a little macro to prompt a user with a form which lets them select 2 reports to open and also lets them select a month. One report contains financial data for the month and the other report contains all data for the year. So each month someone has to copy data from report 1 into report 2.
I have so far been able to: -create form with error handling to open files - select values from a pivot table in report 1 - search pivot table 1 (single sheet) and copy the Name and Total $ fields
what i haven't been able to do: When i get the data from report 1 I switch to report 2. When i get to report to i need to search all the sheets in order to find a name with the original Name field from report 1 (I then have a HUGE case statement that will tell me if name = this and month = that then paste in cell $x$y). However, whenever i try to run my search across all sheets it will only find values on the sheet that is selected at the time.
I've attached my search code below, I would appreciate any help i can get as I've spent all day trying to resolve it with no luck
Function findinworkbook(TruncName) Dim ws As Worksheet
On Error Resume Next
For Each ws In ThisWorkbook.Sheets ' Find Function Cells.Find(What:=TruncName, After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate ActiveCell.ClearComments ActiveCell.AddComment ActiveCell.Comment.Text Text:="test" 'test to mark where the matched cells are On Error Goto 0
I'm trying to search & match data from two different spreadsheets. I will attach my workbook for reference.
The first worksheet is a list of all of my clients I have previously worked with and the second worksheet is a list using a set criteria. The criteria I am using is the UK postal code "AL10".
The clients address (Column B) will be used as a reference to match the address which is located on the AL10 worksheet which is also column B. If there is a direct match then a VLookup function will be performed to display something that can be easily referenced.
The problem I am having is that the address format is different on the clients worksheet then what it is on the AL10 worksheet. I have the feeling I will need to create a search function with multiple arrays but I have limited knowledge of how to do that.
There are some additional notes located in my workbook.
I know that two of the client addresses should match data located on the on AL10 worksheet and the other two shouldn't give a match at all as they don't exist. These are highlighted in yellow.
I have used the Find and replace function to do this but this is rather manual and slow and I would like the search feature to automate this process.
Attached is my excel worksheet I have created for a tracking/billing system for numerous schools. How I can create a search form?
For example, I want to find all of the kids in 5th grade that had to be referred throughout the whole document. Or I want to find a certain name to see if they have been paid but I do not know the location.
My workbook is made up of a number of worksheets, A master sheet, which creates new sheets for each work order I enter. Therefore, eventually I will end up with a large number of worksheets that I will have to sort through to find what I need. I put in a command button to allow me to search and hide all of the worksheets that do not match the the work order number I entered. However, if no sheets contain a matching number, then all sheets will be hidden, except for the master sheet. I want to add an exception that pops open a message box if no matches were found and stops the code. I was thinking of doing a conditional count to count all worksheets that match the criteria. If the count = 0, then the message box will open.
Private Sub SearchButton_Click() Application. ScreenUpdating = False Dim ws As Worksheet Dim Search As String Search = InputBox("Enter work order", "Search Archives", "") For Each ws In ActiveWorkbook.Worksheets If ws. Range("D4") <> Search And ws.Name <> "Master" Then ws.Visible = xlSheetHidden End If Next ws Application.ScreenUpdating = True End Sub
I have a workbook with a sheet for every month. I have a searchbox searching for a client and jumping to that location. The problem I am having is that it takes me to the last occurence in the workbook if there is more that one client with the search criteria. Do you have any suggestions for a searchbox that whould take me to the first occurence and give me an option to go to the next occurence in the workbook. Please see the code below that I am using currently using.
Private Sub CommandButton1_Click() Dim ws As Worksheet
Dim cl As Range, rng As Range For Each ws In ActiveWorkbook.Worksheets
Set rng = ws.UsedRange With rng Set cl = .Find(Me.TextBox1.Value, LookIn:=xlValues)
I am attempting to change what cells this macro places into the report from each sheet and am having no luck. It now captures the “ Date”, Worksheet name”, “Address”, “Pwo”, “Part”, “Time” and “Comments” . I would like to replace the time field (the one after the “Part” and change it to “Quality Technician” so that each entry it finds with comments it will also list who’s comments they are instead of the time. I have not been able to fix the missing headers or changing what it captures.
Private Sub CommandButton1_Click()
Dim wks As Worksheet .......... Dim FirstCol As Long Dim LastCol As Long Dim iCol As Long
I'm currently doing a survey using an excel workbook that contains multiple questions across multiple worksheets using radio buttons linked to certain cells.
I have around 400 workbooks coming back to me, so what i want to do is take specific values from across many worksheets within each workbook and combine them into a large master table in a seperate workbook.
I've tried using VBA, but not being very proficient at it i've hit a brick wall with that, so i'm hoping that there is an easier way to do it than what i'm currently pursuing.
I have a workbook with 26 multiple worksheets that each represent 1 of 26 payperiods per year (bi-weekly payperiods). These worksheets consists of rows of employees names and hours worked each day. The columns consist of dates representing each day in that payperiod.
I need to be able to search all the worksheets (ie. search all 26 payperiods) to find specific 30 day intervals and then copy each employees hours worked to a master spreadsheet. I have tried variations of Index & Match formulae as well as vlookup/hlookup/ISNA without luck. I am not able to use VBA.
I need a VBA script that can display a search box on multiple sheets within the same workbook similar to using ctrl + F and search values in column B only. If there is text or the row happens to be empty then it should skip that and only search numbers. Also the numbers in column B range from 50000 to 89000 and if there is a wrong number entered then I want to have a pop up box saying Error: invalid value or something like that.
Sub search_box() Range("B49000").Select Cells.Find(What:="some#", After:=ActiveCell, LookIn:=xlValues, LookAt:= _ xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate Cells.FindNext(After:=ActiveCell).Activate End Sub