Update Worksheets From Another Workbook Housing Dynamic Data
Apr 20, 2009
I have a weekly report which lists items and their available date. This list is always changing - new items added, old items removed. These items are required for 4 different projects and the item listed says which project the item date is for. There is also the same item across different projects which also have different dates which also appear and disappear each week depending on requirements.
I want to be able to capture the date for each of the items per project per week. Ultimately, I want to be able to track the movement of the date per item per project. I have attached a sample of how I want it to do.
For worksheets 3 though to worksheet 9 and only columns D, E, F, G, H , I and J, and only rows 4 through to 35 auto update from a source workbook
Note 1: - as you will see in Wookbook A in the attached demo test zip file that row range 4 to 35 varies on each worksheet as the number of towns columns varies on each worksheet. So on one worksheet it might be row 4 to row 12 requiring update whereas on another worksheet it could be row 4 to up to row 35.
Note2: –the source workbook is a closed /non active workbook on another server in my network –path is X/sourcefiles/weeklydate/countfile.xls. In the source workbook the source is sheet 1.
Only update when there is a match of string of the place location name which are ALL listed in column C of the source worksheet –matched to that of string place location names in workbook A in their respective worksheets 3 through to worksheet 9. Then when there is a match – copy the content of the cells that correspond to the place location names in the source workbook (countfile.xls) from the columns D, E, F, G, H, I, and J.
Note 3. The way in which the source countfile works is that each week it will be updated with values/figures starting with column D in week 1 and column E in week 2 and column F in the third week and so on…..In the first week only column D will have values/ figures and the other columns will be empty – and second week only columns D and E will have values/figures – to make the code easy it would be OK to copy across the other columns when they are empty – thus leaving the other columns in workbookA also empty. So in week two when workbook A is opened and is updated from the source file with values/figures for workbook A’s columns D and E of worksheets 3 through to 9 the other columns F, G H, I and J on those worksheets would have only be empty cells or just not updated at all –as the source file at that time would have had only two weeks of figures entered.
Also copy across the column headings in row 4 for columns D, E, F, G, H, I , and J as those headings may change as they are dates.
The final bit that is important part of this is that as worksheet A is updated the formula in column K it will need to auto update as well as it is the initial figures in column D minus the figures in the most recent column updated – so if column G is updated today the formula needs to be =D5 – G5 and =D6-G6 and so on whereas when updated next week the formula would need to change to =D5 – H5 and =C6-H6 and so on.
I have developed a database that is ported to other computer systems. My problem is that I have to hard-code the filename into the VBA code to identify the correct Application Object. I found that if I have activated another spreadsheet and run the code, it performs the actions on the wrong spreadsheet.
So my question is, is there a way to get the VBA code to automatically associate itself with the file in which it resides? That way, when I move the file to another computer, it knows what .xls file to use as the "Application Object".
here is what I have now (I replaced the actual paths with {x pathname}):
fname = "FCS Hardware Inventory - Cat Rev E - Ver 2.3.xls" 'fname = "FCS Hardware Inventory - Includes IVA Cat Rev E and JCPC - ver 2.3.xls" 'fname = "FCS Hardware Inventory - Cat Rev E - Ver 2.3 - for distribution.xls"
When I copy the file to another location, I manually uncomment the correct fname and xlApp name... a real pain, especially if I share this with a large community. I don't want to have to teach everyone how to do this every time!
I am trying to create a "Master Sheet" where I enter in the column data and after I have entered my data for each row, I can select the button which toggles the macro to run. I have it built to build new sheets as new clients are obtained. My problem is after I have a sheet that has client's data I cannot get new data to add itself below the data that is already there. I want each client's sheet to keep adding rows as more data comes in. My current macro is :
I have the following code that should open all EXCEL workbooks in a specified path, and unprotoect any password-protected worksheets to allow for Link Updates, then close the workbook after password protecting it.
sub UpdateAllLinks() Dim vLinkSources Dim iLinkSource As Integer Dim AnySheet As Worksheet sPath = " C:Documents and SettingsShaneMy DocumentsHarcourt Assessmentspassword" sName = Dir(sPath & "*.xls") do while sName <> ""...............
In order to do the tests, I'm using 2 simplified workbooks (test_copy and test_paste).
What I'd like to be able to do, once I click a button UPLOAD (creating the button isn't the problem), is to go to the first cell from workbook test_copy, check if that code is already on test_paste and if not add it to the bottom of the list, repeating the same cycle for each code on the workbook test_copy.
The orders of the codes might change on both workbooks differently depending on the way the columns are sorted. That is why I believe that for each code in test_copy I need to check the entire column in test_paste to check if the code already exists.
At the end of the routine, on the example below, we would have the codes 2670, 2676 and 2626 added to the end of the list on test_paste.
Sheet A - The user input form. There is a column which needs data validation. I want it to look at Sheet B and ONLY accept values based on a column value from the other sheet
Sheet B- Contains the list we want the data validation from. One column is considered the lookup value, while the other is what we want the user to be selecting from.
Here is an example list:
Predecessor Entity Key---- Item ID 2659407------------------- SHELL - SOUTH TOWER 2659407------------------- MARKING / LABELING 2659407------------------- FOUNDATIONS & SUPPORTS 2659410------------------- UPPER HEAD - NORTH TOWER 2659410------------------- FOUNDATIONS & SUPPORTS 2659410------------------- LOWER HEAD - SOUTH TOWER
So, in Sheet 1, if one of the triggering values is 2659407, I want my data validation to ONLY Allow the first 3 values from the Item ID column.
The issue I am having is using a pretty messy formula to try and produce a dynamic range for the Data Validation to use.
Here is what works:
=INDIRECT(CONCATENATE(ADDRESS(MATCH(J4,A:A,0),2),":",ADDRESS(ROW(OFFSET(INDIRECT(ADDRESS(MATCH(J4,A:A,0),2)),COUNTIF(A:A,J4)-1,0)),2))) where J4 is the lookup value/1st column depicted in our simple example
This is done on the SAME sheet. So I figure, just add "'Sheet Name'!" for the first argument in CONCATENATE. Unfortunately, this does not work. How to get this to work on an outside sheet?
The error I get is that I cannot Reference other worksheets. However, If I type in ='Profile Item Library'!B1:B18 for the Data Validation argument, it works.
consolidating data from 3 worksheets which contain same data fields but each representing 1 brand. I like to have a summary/mastersheet to contain data from all 3 worksheets and then when the data in each worksheet is added or updated, the summary worksheet should reflect the changes (adding new data to the last row).
how to update one cell data from one workbook to second workbook. it should be as when i open second workbook it should automatically update that particular data. for ex. In workbook one cell A5 data should be updated on workbook two cell S10. Whenever I open open workbook two S10 should be updated according to A5.
I created a form and the values that it takes are Date, Issue, Name, Team Member and Cause.
I use a Production Support Report (workbook that I don't want open for people to see) and it will have tabs for each month ie; January
how can I without opening Production Support Report grab the values from the form then update the Production support report by finding the months sheet and sticking the values at the last row.
Attached is a master metrics deck, where data needs to be refreshed every week, from two different workbooks.
The catch is, the two parent workbooks would be new versions every week (data would be same format, and style within), but file name would change each week, for eg: for 1st workbook, 'XXX_Weekly_Week24.xlsx' to 'XXX_Weekly_Week25.xlsx' and so on.
for 2nd workbook, 'YYY_Weekly_Week24.xlsx' to 'YYY_Weekly_Week25.xlsx' and so on.
In the master metrics deck, a consolidated vew of some of data from workbook 1 and workbook 2 is presented for each week.
This master file would remain same, and only be refreshed each week (preferably with a button on its sheet "REFRESH!!")
Next, need to manually change cells C2:G2 each week to reflect week titles correctly.
For e.g.: week6 would show week 1 through week 5, but during week7, it needs to show week 2 to week 6. Only last five weeks of data any given time.
The first datarows of each set are conditionally formatted (they are compared with other rows in the set and need to reflect danger values, good values etc) (I have done that already).
is to have a folder where I drop multiple workbooks from different stores. There can be 1 or more workbooks at any given time in that folder. Each workbook is a different size as far as the information inside. Next I need to transfer certain columns to the Master Workbook and also have the store location added to the Master workbook (File Name). I have highlighted the store information that needs to be merged to the master, Store 1, Store 2. For reference I have attached a copy of the Main Folder which is on my desktop C:Documents and SettingsDesktopInventory.
i have this code that could extract out Data from many closed workbook. I am extracting data from 2-3 thousand files and the Data in those files are rather dynamically positioned.
For e.g. My vba codings will extract data from cell B256 of the closed workbook.
Sometimes, the data might not start from that cell which my vba would still extract that non-relevant data.
Is there anyway i can modify the codings to search for the required data and extract instead of extracting it dumbly?
Sub getINFO() Dim lCount As Long Dim wbResults As Workbook Dim wbCodeBook As Workbook Dim rCell As Range
I have one source spreadsheet, where are columns NAME, DATE. I read these data by ADO to other spreadsheet, where I can change/delete data and then run macro for update data in source spreadsheet. The problem: In source spreadsheet is column "NAME" and column "DATE", with values e.g. "Joseph"; 1.1.1980. I read this data to other spreadsheet, then I delete in it value 1.1.1980. When I run macro Update, it messages error.
Sub UpdateItem ... .Fields.Item(1).value = activecell 'activecell value = "Joseph" If Not isempty(activecell.offset(0,1)) Then .Fields.Item(2).value = activecell.offset(0,1).value Else .Fields.Item(2).value = "" 'I tried Empty and 0 too but when I read data again then, it displays 0.1.1900, nothing works End If ... End Sub
It seems that in source spreadsheet has data in column "Date" format Date and when I try to update data in format String ("") in source spreadsheet by Update macro, it messages error. When I used
.Fields.Item(2).Value = Empty ' or .Fields.Item(2).Value = 0
after rereading data it displays 0.1.1900 What I want to get is that if the cell with date (in other spreadsheet) is empty, the cell in column Date in source spreadsheet after updating will be blank (contains no values).
I have a financial dataset which I need to "clean" before manipulating/analysing.
Each row of the data represents a completed transaction and the first step is to delete rows that are done with particular (internal) clients; the client data (the client's name) is in Column D.
Currently, I delete the unwanted data by autofilter and delete (code below), however this means the clients to be deleted are only defined within the code. I would prefer to have a worksheet within the workbook where the user defines the clients by adding or subtracting their name from a list.
I have created a dynamic range for the client list by inserting a Named variable along the lines of "=OFFSET(!$B$3,1,0,COUNTA($B$3:$B$200)-1," which works fine.
However how do I work this list into my code so that it works when new clients are added or deleted?
Current code for deleting unwanted client data:
Sub filterdelete()
Dim LastRow As Long LastRow = ActiveSheet.UsedRange.Rows.Count
Using Office 2011 for mac, but felt this question was best suited for general.
Here is the situation.
I have a workbook with three sheets. It's a price/invoice/labor workbook.
Sheet 1 has all the data, including my cost and loss/gain fields Sheet 2 has labor costs and the totals are linked to Sheet1 Sheet 3 is the customer copy of the first sheet. It does not include wholesale and profit info.
I'm trying to link the cells so that when info changes in Sheet 1, it's reflected, in real time on Sheet3
Right now I'm using a formula per cell ='Sheet1'!XXX (where XXX = the cell/column location, ie D15). The first column I started has this formula in every cell, about 100 in all, copied by hand and changed to reflect. It works, but it seems like there has to be an easier way to mirror or link the data. I tried pasting special with links, but continue to get errors as the link pather includes the entire file data path from the local machine.
I still have about 200 cells left and I'm dreading doing this all by hand. Also, If I add a new row to sheet1, this will not reflect in sheet 3.
Macro to filter (extract) data into different worksheets based on Status on Column G in a new workbook. The new workbook can be saved in the same folder where the existing one is saved.
I have attached the Rawdata file and the sample file for reference..
I have a report(Input report) with multiple sheets with different worksheet names.
Now I have to select 2nd worksheet of input report and copy a certain range values and paste in the other workbook(output) . From the same sheet 3 diffrent values I will copy and paste in other work book.
Now, I have to come back to the input report and go to next sheet and copy the same range data and append to the out put report below the first sheet.
This I need to do for all worksheets for the input report worksheets (there are more than 100 worksheets)
I have a userform which loads the data into a worksheet named "Data" which is being used as a database for an event scheduler. I also load a calendar from a worksheet named "Month" so I need the information from the userform "UForm01" added to 2 worksheets.
The userform adds a series of textboxes to worksheet "Data" in the first open row. I also need certain textboxes from the Userform to be added to another worksheet to populate the calendar.
I have a master workbook with 20 worksheets. 5 worksheets in the worksbook are distributed to field reps, but the remaining 15 worksheets are not. What is the best practice for receiving the 5-worksheet workbook from the field rep and importing the data into the 20-worksheet master workbook? If I merely use Copy Sheet I am able to copy the worksheets into the master workbook but then I have to remove the pathname references in each of the copied worksheets in order to map the data in the master workbook - which is quite cumbersome.
I have to input information into a master worksheet which contains data (employee names, location, start date and client) that then needs to be repeated in several other sheets. I want to input the data into a master worksheet and then automatically populate the other sheets with the data. If the data could then be filterable on each sheet that would be good.
I get 'x' number of workbooks(with one sheet only) everyweek from which I need to copy data and paste to a master worksheet. (SCREEN CAPTURE BELOW)
I am unable to write the code myself as I have never worked on VBA and am only a beginner.
Part I:
The data I need to copy starts from the 19th row (A19:H19). The end point is determined by the row just before the row that has the words "Calibration Request" in it.
Part II: Just below the data that was pasted from Part I, the data from 2 rows below the words "Calibration Request" needs to be pasted. The end point for this would be a blank row encounter.
I have multiple Userforms with labels etc, all controls are similarily named (so I could do this) and I can refer to the Userform dynamically but the Label caption/Controls don't change, any idea's how to get them working.
I have a table which takes the average of the last three years. The formulas are in cells below the data. The data is set up to be first data down to the oldest data. each time data is added, a row is put in on top. how do i get the formula in the cell to update dynamically. What would the average formula look like in the cell? Do you just say =average(name of file!RANGENAME).
I am working with multiple workbooks with several tabs in each one. I need the forumula to update the "sheet name" from the source workbook even if the destination workbook is closed.
this is a portion of the forumula I am working with:
I am trying to write a Macro so that my Mastersheet has a command button, that when clicked, will update itself with information from 5 other worksheets. I only need it to update new data and not data that is already there and i need it to copy it into the mastersheet in the next available blank row.
I am working with a mastersheet created by someone else and I have created the 5 worksheets. All the columns are exactly the same in both the worksheets and mastersheet. The mastersheet has 2 sheets, the front sheet ("Front Page") has the command button and the second sheet ("Activity Log") is where i want the new data to appear. I have very little knowledge of VBA, I have recorded a few macros and have used that to create the code i need to open a closed worksheet but I dont know where to go from there.