Searching And Replacing Edited Data Back Into A Table
Jan 10, 2014
Basically I've got a back end worksheet with a huge table full of data (hundreds of rows, tens of columns) containing the data for a load of different contracts (each contract is on a different row).
I have all the information I want displayed on a front sheet by means of very simple lookups which looks for one contract at a time to display that information. What I would like to do is to be able to alter that information on the front sheet which will then go back and lookup that entry in the big table and overwrite the old data with the new. Effectively I want the excel sheet to act as a user form, but without actually using a form (a requirement from the people I'm doing this for). I'm struggling to find out how to do this as I don't know which VB functions I would need to use.
Each contract has its own unique reference number, so really what I need is some sort of code that will look for that reference number in the back end table, then look for any differences between what's on the front sheet and on the back end, and then replace anything that's changed.
I have a cell that I am needing to allow users to edit the data but not the format.
The users edit the data by copying & pasting from their own personal spreadsheet. The source spreadsheet formatting can be varied. Is there a way to allow them to be able to edit the data inserted but not the format?
Let's say I have a pivot table made from data in another workbook. The other workbook is then deleted. Is there anyway to get the original data back? My particular file is about 10 MB, but if I "save as" it's only 1 MB. Plus, the pivot table "works," so I'm pretty sure Excel still has my data cached somewhere. How can I access it? I'm decent with VBA, so I'm open to any solution at all.
Scenario: I have a worksheet full of ~360 tasks. Tasks are broken down into phases, have owners, and have status'. I leverage a pivot table to easily sort my data by owner, or by status. When reviewing the pivot table with others we want to update the raw data. This entails changing worksheets and scrolling to the task in question.
I'm looking for an easier way to update the raw / original data.
Options I've tried to pursue but have come up empty: Option 1: Excel modification? Is there a setting in Excel 2007 that would allow me to change a value in my pivot table and have it propagate to the original data set (another Excel worksheet)? So far the answer seems to be "no". Is this possible?
Option 2: Hyperlink from Pivot Table to Raw data field. - I cannot create hyperlinks within PivotTable data cells. - I have used the "hyperlink()" function OUTSIDE of my pivot table, along w/ a "match()" on a key field in my pivot table to create hyperlinks back to my raw data... But this is prone to breaking. - Is there a way to enable hyperlinks from within a Pivot Table? I have seen other requests from individuals that had a pivot table with actual hyperlinks (e.g. [URL]...) and they could not 'activate' them.
Option 3: Tool Tip VBA Form w/ Link?
- If I can't create hyperlinks directly in the table, then how about a function so then when i click (mouse over?) a pivot table cell a form appears with a hyperlink back to the source data?
Option 2 and 3 Assume that there's an way to get at the underlying location of the raw data (e.g. "Pivot Table Worksheet!E10" comes from "RawData!C4". I've dug through some VBA documentation at Microsoft.com but came up empty. I know this link must exist behind the scenes - In Excel 2007 when you mouse-over a pivot table cell Excel displays: "Row - Phase - Owner - Status", which is directly out of the raw data table/worksheet. [[This was an incorrect assumption... When i looked at the pivot table tool-tip closer I realize it was just walking through my data :'( row.
What is the VBA Code to revel the source cell? If i can get at that data, (and hyperlinking can be turned on w/in the pivot table...) then I can easily write a script to walk through the pivot table and create links back to the raw data... Not a perfect solution - but it takes away the need to search through the source data for the row I want.
I've got a data sheet (called "data") which contain a bunch of data, if someone edits the data manually then a msg boxpopups. which i've done using the code below in the code on that tab. However, I also have vba that places data on the tab that also triggers the popup message.
So how do i make it such that if the vba is run then the popup doesnt appear but if they edit the data manually then it does?
VB: Sub Worksheet_Change(ByVal Target As Range) Dim WatchRange As Range Dim IntersectRange As Range
I'm working with a lot of documents where I need to replace numberID:s with words.
I have a table of 2 columns, where each number has a corresponding number that it should be translated to. For instace: 1 - cpu 2 - fan 3 - bus
Is it possible to use this list to automatically Replace all the numbers in a document with their corresponding words? (Without having to spend time on manually program some kind of macro)
I have been working on a userform for entering in and editing data in a spreadsheet, but I'm stuck with the code for updating the edited data.
I have two pages on the Userform, one for adding a new entry, and one for editing an existing entry.
On the page for editing an existing entry, I have a combobox that displays information in the text boxes based the selection. What I need to be able to do is click save once I have made changes to the information in the text boxes and then have that information saved in the spreadsheet.
I have figured out all of the other buttons in the userform, but I am struggling with this last one. Here is my spreadsheet with some sample information entered in : ExcelFile.xls
I have a simple Excel file composed of three tabs:
-EDIT -QUEUE -RESOLVED
On each tab, line 1 has the same headers: Status, Name, Surname, Issue, Details, Last Update
In the EDIT tab, line 2 is dedicated to editing the relevant information under the headers, and once done is validated with a "Done Editing" button: This button would cut line 2, and place it in line 2 of the QUEUE tab, moving down all the others in the list
The QUEUE tab lists all the issues keyed into line 2 of the EDIT tab. An "Edit Selected" button would cut the selected line (or the line in which a cell is selected), and copy it to line 2 of the EDIT tab for further editing, after which it would be placed on top of the queue once again as above.
The RESOLVED tab lists all of the issues marked "Resolved" on the Status column.
What I can't figure out are the macros for the two buttons:
- "Done editing" in EDIT tab adds today's date in the "Last Update" column, then cuts line 2, and pastes it in line 2 of the QUEUE tab pushing down all the lines in the list, and keeping any existing conditional formatting if possible (colours in the "Last Update" column, for ex.). If the status is set to "Resolved" before clicking the button, it does the same, but pastes it to line 2 of the RESOLVED tab instead of QUEUE.
- "Edit selected" in the QUEUE tab just cuts the selected line from the QUEUE tab and pastes it in line 2 of the EDIT tab.
VBA code which can distinguish whether a cell has been edited by:
selecting an option from a data validation list (DVL) or manually editing the text in a cell?
The ""Show error alert after invalid data is entered"" option is unticked to allow both selection from the DVL as well as free format text entries.
The problem arises when using the code below which makes an edited cell within a range display the new value as well as the prior value(s). This works well when using the DVL but not when editing the cell.
Is there any code which can distinguish between the 2?
I have one sheet (sheet 2) that contains three columns of data, a range of a low value and a high value and a corresponding value (column c)-- A B C 0 54 0 55 64 1 on the other sheet(sheet 1), i have a column(column x) in which i need to find that corresponding value (that column c on sheet 2). basically, i need to write a function that says if value x (on sheet 1, column y) is between the values in columns A and B (on sheet 2), input the corresponding C cloumn value (on sheet 2) into column x on sheet 1. i hope this makes sense. an additional snag is that i have about 60 rows on sheet 2, and i need to make it keep searching this table until it finds the range that contains my value x (on sheet 1).
i have a spreadsheet that i use for work which has 1 page that contains all the data for the workbook. on other pages i use this data, and tables, to pull information to those pages or other pages which complete my work in a more timely fashion.
that issue i'm having is when i try to look up specific values within the data page tables and there are multiple values.
i need a way to choose different values rather than the "first" value in the instance of a vlookup which only finds the first value.
in the pictures i have picture 1 (vlookup samples) has a section where i can type in the "office" code and it will auto pull "switch name" and "switch clli" via vloookup.
in picture 2 (switches sample) i have created a table, which is on another page as stated above, but if i try to search for the example "LSGT5" it only returns a switch name value of "LFTYINXFDS0" and there is also a value of "LFYTINXFDS1".
there are many more within the table(for this office code alone) but this is just an example of how i need a way to choose the proper one or somehow have a drop down without having to create a bunch of tables for each office itself.
The code below (ran from Excel vba) deletes all data from an Access table, paste data from Excel into another table, and then run two Access Macro's and paste data from yet another table back into Excel.
My problem is that when I run the query from Excel, the data returned to Excel is always zero. When I step through the code, and check the Access database, all the steps are carried out properly. E.g, the delete query is deleting all the records in the correct table, the append query is copying the correct data into the correct table in Access. The two macros do run, but then when the resulting table is returned to Excel, it brings back zero's.
Doing all this manually in Access is returning the data correctly.
The two Access macros are running some queries, E.g. the "001 UpdateLatestData" is running two queries and the "002 CreateMonthlyResults" is running about 15 separte queries.
Sub OPENACCESSTABLE_DELETE_ROWS1() Dim db As Object Dim accApp As Object
Set oApp = CreateObject("Access.Application") oApp.Visible = True oApp.OpenCurrentDatabase DBPath 'Delete Query DoCmd.RunSQL "DELETE [001 non motor data].* FROM [001 non motor data]"
Set accApp = GetObject(Access_DB) .........................
Im using vlookup to search a table and fill out a calendar with dates that various employees are gone. They can have multiple trips in one month and thus will be in the table multiple times. I have the calendar set up so days go across the top and names go along hte left side. so each cell is identified by name and day. I then have each cell using the vlookup command to search the table. now if one person has multiple trips a month is there a way to compare multiple entries in the table?
Custid loc city 123 us newyork 124 uk wales 876 in mumbai Sheet 2 custid newcustomerid 123 756 124 394
Outputsheet: Custid loc city 756 us newyork 394 uk wales 876 in mumbai
So it will check sheet1 custid with sheet2 custid. If both matches it will replace custid with newcustid.if cust id not exists it will load sheet1 recprds as usual.
What it does is to activate the desired worksheet, and for 3 different choices replace what's there with what I want to be there. I put this together a while back, and it's working fine, but I'm sure it can be cleaned up a bit. Any help would be appreciated.
I have a monthly report with over 2,000 entries per column and it is dynamic (number changes monthly). I'm trying to replace individual department names with "department" but keep certain ones the same. For instance- A,B,C,D stay the same but E-Z need to be changed to "department". I first coded an If then macro but was unable to get it to loop and after researching looping realized that it may not be the best option especially with large datasets. Is an advanced filter macro the best option where I filter NOT A,B,C,D and then change the results to department?
We have a report with 2 different sheets. On sheet one there are 13,000 rows of data and columns A-H are filled with different data. column A is our item id and column G has a date that states when the item was sold last. Well, the date in column G is wrong for about 7800 rows and needs changed.
The second sheet in the file is the 7800 rows with just the item id in column A and the correct date in column B. We are looking for an easy way to replace the rows in the first sheet with the correct information from the rows in the second sheet without manually replacing it line by line.
I almost forgot to add in, that in both sheets, column A with the item ids are the same item ids on both those sheets. So column A on sheet one has 13000 rows and included in those 13000 are the 7800 item ids on sheet 2.
We tried using the VLookup function that is incorporated into excel but had absolutly no luck, mostly because we have never used this function before. Sheet one already has all the lines of sheet 2, its just that sheet one has the wrong dates for the item ids and sheet 2 has the correct dates. im trying to replace the dates on sheet one from the dates on sheet 2 matching on the item ids from both sheets......
need to add same data to every other existing cell in the column, but not replace the data already in it, but to add to it. I've tried to google the answer and look here, but I probably use bad search terms.
For example, I need to add "QW" after each of these lines:
data1432 data9292 data3933 data3939
so it would look like this:
data1432QW data9292QW data3933QW data3939QW
I have a few thousand rows of data, so wouldn't rather not do it manually cell by cell by typing :-)
It might be a simple question but ive been trying for over a week now and i just cant do it (probably cos my knowledge of VB is useless )
What i need to do is:
I have 2 worksheets: worksheet 1 Articles and worksheet 2 New Prices.
Whats common on both worksheets is Reference Nš (In the case of worksheet 1 its column E and in worksheet 2 its B), what i need to do is replace the price corresponding to reference nš in worksheet 2 (In column E) with the price of the corresponding reference number in worksheet 1 (in column N).
Its a basic find and replace, but its a list of over 17.000 articles so the best way is VB, so i look through your lists and helps, but i just cant do it.
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:
I have two sheets - sheet1 and sheet2. Everytime i run a macro in the sheet1and manually copy the rows from sheet1 {starting (A2:AI2)} and paste as values it in the sheet2 {starting (A2:AI2)}.
Then I ll delete the available datas in the sheet1 and will run a macro for different customer.
Again I need to repeat the same action (manually copy and paste the datas to sheet2) without replacing the existing data in the sheet1.
In simple I require a macro code where it copy the available information in sheet1 and paste it as values in the sheet2 without replacing the existing one.
I'm using Excel 2010 and I applied a Data Filter to a simple table. I then messed around with the drop downs in each column, sorting the data by different criteria. After doing this, is there a simple way to get the table to revert back to its original order/form?
In long worksheets where I have to edit each cell, I would like it if the cell that is being edited is always on top of the screen. That way I wouldn't have to scroll as much.
Is it possible to find the unsaved data in a spreadhseet/workbook? Or the last cell was edited?
After working on multiple workbooks when I try closing them excel confirms if the changes should be saved or not. I was wondering if there was a way to check what those changes were. If there was a way to find address of the cell that was edited last.
I am looking to create a userform that submits data to my spreadsheet.The fields should be Reference Number, Title, forename, surname and DOB.The filling in of the reference number is compulsory, and should display a message box if a reference number has not been input.A button should be present on the spreadsheet that brings the userform up.
The search Userform should look the same as the input userform, except the fields are blanked out and uneditable.
The ability to search by any field is neccesary.
A list should be brought up containing the search results.
The user can then select the entry that they are looking for and then the uneditable userform comes up with the information that has be extracted from the existing entries.y impossible.
I have a log book that gets modified through out the day, and an auto run macro that runs at specific times to save the data to a database type sheet, and clear the form for the next shift. some of the operators are double clicking in the cell so they can type their comments. If they do not hit tab or enter when they are done, and the save time comes, the macro is not running, and I'm not collecting the data that I need. Is there a way to force the macro to run, or to force a tab/enter after 3 minutes of inactivity?
My business has a significant number of Excel sheets interlinked. One of them has about 10.000 links to about 60 files. Those 60 files are within a sub-folder and once a quarter the business needs to replace all 60 files with a new set. To establish this, they replace the sub-folder name in the link with the new name. To do this on 10.000 links takes about 72 minutes because Excel seems to open up a file for every updated cell. We tried to stop this by changing Excel to calculate manual, disabled "Update remote reference", but this didn't improve anything.
We have similiar issue when opening/updating the master file - it takes around 3 mins.
Besides that a proper database is certainly better for this requirement, is there anything we can do to improve the performance of the replace method. I was thnking about stopping Excel from validating/updating each single cell and after everything has been replaced to do it in one go without Excel opening and closing 10.000 times a file.
I'm trying to print score cards from the scores sheet (two different worksheet pages). Some score cards (each score card is one page) will only have 3 players and some will have up to 5 players so I can't just go down the list and use a formula to transfer data line by line. I will set the score sheet up I just all of hole 1 players to be printed on a card and so on with hole 2-18 also I need First and Last names on the cards and possibly score total by the name.
I am looking to enter a numeric value these are the green columns. it then needs to search the workbook for that number (Barcode Number).
then if the cell to the right has a value, it needs to pull that number into the userform' if no number is next to it, then I manually write and post it the cell next to the one just found..