Currently I have a database in an Excel template. After a user creates a new workbook from the template, a macro button on sheet 1 brings up a window (a userform) to allow selection of items from the database sheet. The item selected is entered on sheet 1 by means of VLookup. That works fine, but to edit the database correctly it is necessary to open the template itself. This is not a user-friendly method.
I figure the best way to solve this dilemma is to separate the template from the database. That is, make the database sheet into a workbook. This I've done. Here's the problem: What code is there that links the list box in the userform (of the template) with the closed database workbook? Is it even possible? If a file path type code is required, it may work on my computer, but when I use my template and database on another computer, the code doesn't work.
Another problem, and similar is this: I'd like to be able to have a macro button that opens the database from the new workbook (which was created from the template) in order to edit the database. If having a template seems to be my problem, I must have it since each workbook created from it is a different project.
I have a workbook for each day recording energy usage from 52 meters,
I need to collate the data on a single workbook.
The only way i can think of doing it is to use the INDIRECT function but this will not work on closed workbook.
I need to sum the contents of B1:AW1 on the closed workbook and input that into a cell on the new sheet. then repeated for B2:AW2, B3:AW3 up to B52:AW52 once this has been done the process needs to be repeated for 31 workbooks.
The end product should be 31 Columns (one for each day ini the last month) and 52 rown (one for each meter) and the total daily consumption for each meter (sum of column B:AW)
i can use application.username to get activeuser name and have excel check this and close the workbook if its not me, what i want to do is have excel check lets say cell A1 in workbook SECURITY.xls stored in C: and if it says Craig Shippey leave workbook open if not close the workbook, why i said working with closed workbooks is i dont want to have any indication on where its checking from,
1. i have a workbook in which i want an Workbook_open macro lets call this workbook staff.xls 2. the staff.xls should read cell A1 from C:security.xls into a variable called Check 3 if check craig shippey close workbook without any prompt
all this should be done without anyone knowing that a macro opens another workbook, i know if the user disables macros then it will still open, but i will just set their Macro Security level to low so they wont be prompted, i will also remove that item from their menu bar, if they cant see it they wont be able to alter it back
I am using the following code to attempt to pull data from closed workbooks. Something in the code is not working and i can't figure it out. ARG is resulting in the path i need with the exception of TOTAL which is the sheet i need the data from.
Private Function getvalue(path, file, sheet, ref)
'Retrieves a value from a closed workbook Dim arg As String
' Make sure the file exists If Right(path, 1) <> "" Then path = path & "" If Dir(path & "k217811.xls") = "" Then getvalue = "File Not Found" Exit Function End If
I have this formula in a excel file called test.xls which does a SUMIF on file "Sales By Customer v3 17-11-08.xls". It works fine when I have Sales By Customer v3 17-11-08.xls open at the time. When I close it the file displays a #VALUE in the cells
My formula is:
=SUMIF('G:FINANCEAccantia Budget2009Sales and GC[Sales By Customer v3 17-11-08.xls]DP Total'!$B$7:$M$7,Cover!M$85,'G:FINANCEAccantia Budget2009Sales and GC[Sales By Customer v3 17-11-08.xls]DP Total'!B9:M9)-'Page 15'!E9
This is really annoying as the formula works, and you need to open the linked file to display the results, otherwise you get the #VALUE. Is there anyway around this and why is it doing it??
I am looking to import a sheet into an opened workbook. I have found a code from this URL [URL]....but I can't manage to get this done correctly. I want to copy the range "A1:Z1000" from the "Source" sheet to the target sheet "Div_P&L" (which will be opened when the macro is run) located in another folder.
Source address : "H:P&LYE TempDiv P&LP&L Report 020312.xls" , sheet("Source"), data = range("A1:Z1000"). Target address : "H:Yield EnhancementPandL.xls" , sheet("Div_P&L") , data = range ("A1")
Line Workbooks(PandL).Activate => Run time error 9, Subscript out of range.
I have tried the getvalue function which works, but it takes a long time. So I want to use an ADO way.
Sub importdata() ImportRangeFromWB "H:P&LYE TempDiv P&LP&L Report 020312.xls", "Source", "A1:Z1000", True, "PandL.xls", "Div_P&L", "A1" End Sub
Sub ImportRangeFromWB(SourceFile As String, SourceSheet As String, _ SourceAddress As String, PasteValuesOnly As Boolean, _ TargetWB As String, TargetWS As String, TargetAddress As String) ' Imports the data in Workbooks(SourceFile).Worksheets(SourceSheet).Range(SourceAddress)
I would like to create a sheet that looks in a certain folder with several .xls files and pulls data from certain cells ( not necessarily next to each other) automatically with out opening each workbook in the target folder.
Each workbook is laid out the same, based on a template, and emailed to me each day (I'll actually get 3 or 4 a day, one from each plant) So the number of files will grow every day. (I've read about a way to automatically save the file based and the date, hour, and minute, and email the file when a certain condition is met, and plan to use this technique in the template.) So the file names should be consistent.
As an example, I would like cell A1 to contain the date from the oldest file and increment row by row as the files come in, automatically. Then the cells B1 on across would contain data from certain cells within the .xls file with that date and time.
Every time that workbook is opened it would update to include data from any new files in the specified folder.
I've done some basic vlookup formulas to look at one particular workbook but not several.
I've got 20 spreadsheets called Week 1 to Week 20 each has two sheets called Wk 42 T and Week 42 R. They are stored in a shared area. I want to Copy all the data in Column M in both sheets and then transfer the data to a summary sheet with a sheet for each.
I've got the below code to open the workbooks but need help with selecting that data per workbook then by sheet and looping through each sheet and pasting in Column A.
Sub RunCodeOnAllXLSFiles() Dim lCount As Long Dim wbResults As Workbook Dim wbCodeBook As Workbook
I have multiple workbook files using the same template but saved under different files names usually by date. I need to summarize the data in a summary worksheet that pulls the same cells from the various individual closed workbooks. I need to be able to insert the file's path as an input to pulling data from a cell or cells.
i am currently doing a survey. the survey's are done in excel format and after i send out to everyone they will return me the soft copies in excel format. After which i would have many "forms" in excel format. i would like to extract all the data out from those forms into one worksheet. How is it possible ? It can either be excel formulas ? in-built functions or macro.
I've named some cells in the source workbook, and linked these names to the destination workbook. Then I used the names in some formulas in the destination workbook, and it worked great. But when I closed the source workbook it doesnt work. WHen I open the source it works great, but I need for it to be able to link to the workbook when it is closed as well.
I got a problem that I cannot seem to solve, I want to retrieve values from 2 closed workbooks, I have with the help of this forum managed to create some VBA that retrieves the values from one of the workbook. What do I need to think of,to be able to put in the values from the second spreadsheet without the values disapearing from the "master" spreadsheet?
The code so far:
Sub ValuesfromClosedWorkbook() Dim filetoopen As String Dim wb As Workbook
filetoopen = Application _ . GetOpenFilename("XL Files (*.xls), *.xls") On Error Resume Next Set wb = Workbooks.Open(filetoopen, True, True) With ThisWorkbook.Worksheets(1) . Cells.Value = wb.Worksheets(1).Cells.Value End With wb.Close False Set wb = Nothing End Sub
How do I update changes to a linked workbook without having to open it? Let's say that I have two workbooks, "workbook1" and "workbook2". I want to copy data entered from workbook1 to workbook2 without opening workbook2. I know that I can just open workbook2 so that the formula will work but if I do that I'll end up opening up to 3 workbooks, which doesn't really give you much security.
I have had a good look around and have found some scripts that look like they can help but do not. here is my situation
I have 300+ questionaires in excel that contain around 20 questions with each question having the possibility of 5 answers i.e A1 A1Do you like this service, answers will be scored in cells F1,G1,H1,I1,J1
What I would like is for a master document to combine all the data into 1 document so I will know how many of the 300 have F1,G1 etc.
In the filed F1 the variable may be X or it may be a number, I would like to add up the number of non blanks in that field, from 300+ closed workbooks
I tried using Dave Hawley's code, but I can't get it to work. It works if the source workbook is open, but I get all "#REF" results if the source workbook is closed. Sales Order Import is the target worksheet for the data, inside the open workbook where this code is located.
Set wks = Worksheets("Sales Order Import") With wks. Range("A56:Z100") .FormulaR1C1 = "=IF('C:DdriveMy DocumentsProjectManagementManagementReport[AU0009099.xls]Sheet1'!RC="""",NA(),'C:DdriveMy DocumentsProjectManagementManagementReport[AU0009099.xls]Sheet1'!RC)" 'Delete all Error cells On Error Resume Next '.SpecialCells(xlCellTypeFormulas, xlErrors).Clear On Error Goto 0 'Change all formulas to Values only .Value = .Value End With
The .SpecialCells line is commented out, because it error messages (that's my next problem to tackle).
I have a program that calls the regress function multiple times (sometimes more than 1,000) per run. With each call to the regress function, a new workbook is automatically opened. For each new workbook opened, I am storing the contents in a workbook array called Models so I can later sort the workbooks based on the value of R squared. The program often has to open and store hundreds of workbooks before the sorting can take place so as to consider every possibility. Once the sorting has completed, I close all of the open workbooks except for the two containing the largest value of R squared. Due to the massive amounts of workbooks getting opened and then later closed, it takes about 30-40 minutes to run my program.
I want to know if after a new workbook has been opened and its value stored in the Models array, can I immediately close it and then later open only the 20-30 workbooks I really need to speed up run time? This way I wouldn't have hundreds of workbooks open at one time. Here's some code to help:
'This function will run regression stats for all possible combinations of models 'with choose variables Private Sub Run_Stats( Combos, ByVal Size, R_Squared, Adj_R_Squared, Std_Dev, Cp_Stat, ByVal Dep_Var, ByVal NumIndepVar, ByVal Observations, ByVal Choose, Reg_Labels, ByVal Residual_Sum, Models)
I have a little over 100 workbooks which I will receive back from customers and in column A of another workbook I have the names of those workbooks.
Not all workbooks will come in at the same time, but I would like, as we receive the workbooks, retrieve the value from cell H19 from the available workbooks according to the name in column A and place the value in column B.
I've looked into Indirect, but with this function the workbooks have to be open. If one of the workbooks has not been received, I would like for the macro to skip this file name. All files are .xlsm.
The file will be in the same folder as all the individual workbooks.
What I want to do is pull data from columns A,B,C,D in 3 other closed workbooks (export.csv, export1.csv, & export2.csv) to my main workbook (Thunder.xlsm)and append that data in columns A-D on my main workbook. In addition I created a list of 10 names (but need to expand or delete from this list as personnel change) in Column O that I would like to filter the data in A-D. The names in the list must find the data I want to keep in column D, the rest I want to delete (not the entire row, just A-D for that particular row that does not match the criteria in column O, and shift those cells up).
I've attached a sample spreadsheet that will clarify what I am asking. I'm preferably asking for 2 macro's, one for the pull of data, and the other for the filtering.
Is there a way to find and replace the values from a closed workbooks of a folder. say i have some 15 files in a folder c:/test
I want to find all "Ltd" and replaceAll with Limited and find all "Co" and replaceAll with "Company" etc (some 20 different values to be found and to be replaced) if this is in a single file i can easily record a macro to this job, i am stuck for doing 15 files at one shot.
I have the following code that works properly, Copy & Paste Same Range On Protected Sheet From Multiple Workbooks
Sub RunCodeOnAllXLSFiles() Dim lCount As Long Dim wbResults As Workbook Dim wbCodeBook As Workbook, book1R As Range Application. ScreenUpdating = False Application.DisplayAlerts = False Application.EnableEvents = False On Error Resume Next Set wbCodeBook = ThisWorkbook With Application.FileSearch .NewSearch 'Change path to suit...............