Calling Close Event When Multiple Documents Closed
Jun 18, 2008
I'm trying to create a macro that will save backup copies of documents that have changed when a user closes them. I created an add-in and put a Workbook_BeforeClose sub in "ThisWorkbook" that saves a copy of the document in a temp location on the hard drive.
If I have three Excel documents opened and each one has changes and I close Excel (with the "big red X") it only seems to call the Workbook_BeforeClose once backing up one of the files. If I use the "Close Window" (the "little X") it doesn't call that event at all.
Is there a better event to use or a better way to backup these files when closing them or Excel?
View 9 Replies
ADVERTISEMENT
Oct 6, 2008
I have a large macro where it looks into 50 documents and pulls out a value from a specific cell.
I dont have any problem with the coding for this but was wondering if it is possible to add another line of coding so that once it has copied the cell value the documents then close.
Currently when I run the macro, it leaves all 50 documents open once it has taken all the cell values and pasted them into my "Master Document".
View 3 Replies
View Related
May 2, 2014
I can create events in my custom classes. When do I even want to raise an event like this instead of calling the corresponding Sub?
I imagine that I can create an event called OnColorChange or I can create a sub called OnColorChange.
Why would I want to create an event?
View 1 Replies
View Related
Apr 7, 2009
I have a MS Access db in which I have two delete queries called 'qrySessionsCompleted1' and 'qrySessionsCompleted2'. What VBA code can I use in the BeforeClose event to run these?
View 9 Replies
View Related
Feb 3, 2010
I have a workbook with several user forms. When the workbook opens I'd like to show frmSplashScreen for 3 seconds then close and have another form frmMain show. I've tried the following code and it opens frmSplashScreen ok but it does not automatically close the form. If I click the close box then in 3 seconds frmMain will show.
View 3 Replies
View Related
Jul 19, 2014
I am trying to make Excel update a cell (C27) in my workbook's front page before closing, but it doesn't run at all.
Debug doesn't show any error...
Actually I am not sure if it's a code error or just the place i put this sub in.
......
Next
MsgBox "All Sheets have been updated"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Worksheets("Front Page").Activate
If .Offset(27, 3).Value < DateValue(Date) Then
.Offset(27, 3).Value = DateValue(Date)
End Sub
View 6 Replies
View Related
Jul 22, 2008
I have a sheet that on open looks at the username and determines which tabs can be seen by that user. If macro's are not enabled, I want the sheet to just display sheet 4.
here is the code I have on open that works fine: -
Private Sub Workbook_Open()
If Environ("username") = "Bob" Then
Sheets("Sheet1").Visible = True
Sheets("Sheet2").Visible = False
Sheets("Sheet3").Visible = False
Sheets("Sheet4").Visible = False
Else
Sheets("Sheet1").Visible = False
Sheets("Sheet2").Visible = False
Sheets("Sheet3").Visible = False
Sheets("Sheet4").Visible = True
End If
End Sub
I have a Workbook_BeforeClose() function that does not, and I am stuck as to why!
Here it is: -
Private Sub Workbook_BeforeClose()
If Environ("username") = "Bob" Then
Sheets("Sheet1").Visible = False
Sheets("Sheet2").Visible = False
Sheets("Sheet3").Visible = False
Sheets("Sheet4").Visible = True
ThisWorkbook.Save
Else
Sheets("Sheet1").Visible = False
Sheets("Sheet2").Visible = False
Sheets("Sheet3").Visible = False
Sheets("Sheet4").Visible = True
End If
End Sub
So basically after "Bob" is done it will save the sheet with only tab 4 visable. This means that if someone without Macros enabled opens the sheet they can only view tab 4 (I know it isn't password protected in this example, but it will be)
View 9 Replies
View Related
Oct 28, 2006
I'm using the following code in "ThisWorkbook" of a couple of different workbooks, and the problem occurs consistently with the code use regardless of which workbook...
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.Close False
End Sub
The code itself does exactly as it should (not save changes when closing), but shortly after the workbook has closed, any other open workbooks will freeze, then give a popup message saying an error has occurred and a log is being generated, and EXCEL shuts down (loosing any other work)...
I have searched my HDD and only found 4 .log files that reference dates that coincide with the errors, although the times don't match(?)...
Originally Posted by WinMgmt.log
(Fri Oct 27 08:12:29 2006) : core is being shut down by WinMgmt.exe, it returned 0x0
Originally Posted by wmiadap.log
(Fri Oct 27 08:17:54 2006) : Performance library winspool.drv will be ignored as it was previously disabled (WbemAdapStatus = -1).
Originally Posted by wbemcore.log
(Fri Oct 27 08:47:10 2006) : Core physically unloaded!
Originally Posted by gotomon.log
Log file started at Fri, 27 Oct 2006 08:17:46 Eastern Daylight Time
0:00:00 i: G2EnumPortsCore() -- start -- level=1 pPorts=0x0
0:00:00 i: G2EnumPortsCore() buffer available:0 buffer needed:24
0:00:00 i: G2EnumPortsCore() -- leaving early --
0:00:00 i: G2EnumPortsCore() -- start -- level=1 pPorts=0xc55980
0:00:00 i: G2EnumPortsCore() buffer available:24 buffer needed:24
0:00:00 i: G2EnumPortsCore() -- leave --
I had been using;
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.Save True
End Sub
Which had the same error... when I changed it to Close, I thought it had been fixed, but it was just that the delay is longer before the freeze.
View 4 Replies
View Related
Jan 16, 2007
I need to use the BeforeClose event to save the workbook with the same name when a user closes it. (82 users and they all seem to want to give it their own name.) I have the following code in the BeforeClose event but would like to eliminate the prompt "this file already exists, do you want to replace it" I have tried using the Application.DisplayAlerts = False but this seems to stop the workbook from saving.
I have a public demention called wbName and is set to the workbook name in an outo open macro
Public wbName
Public Sub auto_open()
wbName = ActiveWorkbook.Name
UserForm2.Show
MsgBox "PLEASE do Not insert rows/columns or enter calculations" _
& Chr(10) & " " _
& Chr(10) & "Enter Only Account Name, Date, and Corresponding_ Calls/Details", vbCritical, "Caution"
End Sub
View 6 Replies
View Related
Jan 5, 2014
I have a command button code on a sheet that checks if all the cells in a table have been completed before saving the worksheet. If they're not all complete a userform message box pops up with a reminder then returns to the sheet without saving. I want to be able to call this from the 'BeforeClose' event as well however, even though it still does what it's supposed to do, after the userform message box has displayed and been unloaded then it still pops up the Save Dialog box.
I'm struggling to suppress the Save Dialog box and return to the sheet.
View 1 Replies
View Related
Jun 6, 2008
I am trying to ask to the user to check if they logged out when they close the workbook but my code is not working...
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("OD&D Log-in").Select
If Range("H5") = "reconcile" Then
a = MsgBox("Do you want to Log-Out?", _
vbYesNo)
If a = vbNo Then Cancel = True
If a = vbYes Then
Sheets("OD&D Log-in").Select
Else
Workbooks("Daily OSD Log (ver5).xls").Close SaveChanges = True
End Sub
View 9 Replies
View Related
May 30, 2009
I want a list to be sorted when a user closes the Excel DataForm. I have the code to execute the sort but how do I attach it to the DataForm Close button?
View 9 Replies
View Related
May 1, 2008
I'm working on a time sheet, and to make it easier to enter time i created a macro that sets the auto correct to correct a "." to a ":", but when the workbook closes i want to run a macro that deletes the auto correct rule.
View 13 Replies
View Related
Jun 6, 2006
I'm trying to combine 2 sets of code that I have searched other threads for.Both use the OnTime code to trigger events after 5 and 10sec.
My problem is that the workbook won't close correctly and keeps re-opening on the refresh event. I understand both events need to be passed to the dTime variable, but I am obviously doing something wrong. I will include the code as I'm sure its something obvious;
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.OnTime dTime, "Sort", , False
If Cancel = False Then Application.OnTime dTime, "RefreshIt", , False
On Error Goto 0
End Sub
Private Sub Workbook_Open()
Run "RefreshIt"
Application.OnTime Now + TimeValue("00:10:00"), "Sort"
End Sub
Public dTime As Date
Sub Sort()
dTime = Time + TimeValue("00:00:10")
Application.OnTime dTime, "Sort"
Range("A6:M10").Select
Selection.Sort Key1:=Range("I6"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("B2").Select
End Sub
Sub RefreshIt()
Sheets("Text").Range("A7:F38").QueryTable.Refresh
dTime = Time + TimeValue("00:00:05")
Application.OnTime dTime, "RefreshIt"
End Sub
Any help would be appreciated!
Thanks
View 6 Replies
View Related
May 26, 2009
Is there a way to make a macro fire when you close the VB editor. For example,
I would like one of my pre- recorded macros to start as soon as I close the VB editor.
View 9 Replies
View Related
Aug 26, 2006
a while back I posted Central Glossary to feed multiple documents to put a glossary at the end of a Word doc. Fabulous help and got it all sorted. Now I'm trying to do it at the end of an Excel w/b.
View 4 Replies
View Related
Sep 28, 2009
I have thousands of Excel files, each with a generic names (i.e. 2009092812163503.xls)
Each of them contain a header with contains column titles like Company Name, Executive Contact, Address, etc and then a single row of data for a single company.
I want to be able to task excel to extract all the data in the second line and enter them all into a single spreadsheet for further work.
We're talking 30,000+ unique files here, what would be the best way to approach this?
View 10 Replies
View Related
Nov 3, 2009
I have attached a spreadsheet with a small indicative data set to assist in understanding. I am trying to count the number of documents each individual has assigned to them that are not yet 'completed' (ie REGISTERED, IN WORK, REVIEWED). The problem I am trying to overcome is that the document state can be 1 of several values indicated in the same column.
I have tried using this SUMPRODUCT formula:
=SUMPRODUCT((($E$2:$E$11="REGISTERED")+($E$2:$E$11="IN WORK")+($E$2:$E$11="REVIEWED")*($B$2:$B$11="Jones")))
but it is generating incorrect values!
Specifically:
- Jones shoulld return 1
- Franks should return 3
- Smith shoudl return 0
View 4 Replies
View Related
Jun 26, 2014
I have a code in file A that opens several files (B,C,D&E), copies some data from them, then closes the files. That part of the code works fine, but each of the files that are opened (B,C,D,&E) have a Workbook Open event that causes the file to save automatically every 30 seconds. (I know this is not recommended, but this is what the user wants.) The files also have a Workbook Before Close event that is supposed to stop the timer so the file will close without reopening. These each run fine on their own.But if I run code A, the workbook Before Close event in file B (C,D, & E) does not seem to run and the files reopen after 30 seconds to save. When I step through the code it works fine and goes through the Before Close event in each file and the files remain closed.
View 3 Replies
View Related
Feb 4, 2013
I have a drop down list, using data validation, calling from a range name on a different sheet($1). Works great. I see my list of choices.
What I want to do next is for another named range on another sheet($2) to be called when I select one of the options from the drop down.
So say the drop down is in I71, when I pick an option from that list it will populate (B72, B73:G73, B74:G74...etc...) from a named range I have already defined on ($2).
Where would I put the (if I71=Range1, then paste this info into the (B72, B73:G73, B74:G74...etc...) on $1 ?
View 3 Replies
View Related
Apr 27, 2007
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
View 3 Replies
View Related
Aug 17, 2007
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
View 5 Replies
View Related
Apr 26, 2008
Is there code that will take certain data from one Excel sheet to another named file in a different place on the network? Example Copy cell aa47 from "Recent Faxes.xls" that sits in "correspondence" folder. Then paste into cell B25 "Current Documentation.xls" in the "Sales Contacts" folder
View 2 Replies
View Related
Feb 25, 2014
I am currently using the COUNTIFS formula to get the information I need when the workbook is open but I would like to be able to pull these counts without opening the workbook. Here is the formula that is working correctly while the workbook is open:
=COUNTIFS([TT_Output_All.xlsx]Sheet1!$C:$C,D$1,[TT_Output_All.xlsx]Sheet1!$F:$F, "2014",[TT_Output_All.xlsx]Sheet1!$I:$I,$A17,[TT_Output_All.xlsx]Sheet1!$L:$L, "production: am owner")
Convert this formula to an array that doesn't require me to open the workbook to get the counts.
View 9 Replies
View Related
Jul 28, 2014
The below article explains exactly what I am trying to do but the formula in step 5 doesn't seem to work. I keep getting an #REF! Error.
[URL].....
I am not sure if maybe I'm typing in the quotations wrong or if the formula doesn't actually work.
View 2 Replies
View Related
Dec 9, 2007
On Event open workbook (wookbook A)
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.
View 3 Replies
View Related
Jan 28, 2010
I would like to create a macro which finds data from multiple worksheets and collates them in my Master Worksheet.
I am competent with a lot of functions with Excel, however I have never used Macro's before. I have a little bit of VB knowledge, but only the very basics. I will attempt to explain my situation as clearly as I can.
Please note in your response that I am not familiar with a lot of the programming jargon. I also do not know how to actually create (or is it record?) a macro.
Finally, before I dive into it, I would *prefer* not to have to add code to the closed worksheets, but I can do this if there is no other way!.......
View 14 Replies
View Related
Mar 23, 2012
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.
Column AColumn BFile NameH19 ValueDallas.xlsmSan Diego.xlsmArgentina.xlsmParis.xlsm
View 3 Replies
View Related
Apr 28, 2008
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...............
View 2 Replies
View Related
Feb 16, 2007
How can I close the currentmonthend AND previousmonthend workbooks in the following code, but leave workbook "MoEnd Compare" open? I'd like to do some additional comparisons with the "MoEnd Compare" file. I tried the code below to close those two workbooks, but it is not working.
Sub check_month_end()
Dim currentmonthend
Dim previousmonthend
Dim project_current
Dim ptcurrent
Dim yearcurrent
Dim project_previous
Dim ptprevious
Dim yearprevious
Dim r As Integer
Dim c As Integer
Dim l As Integer
MsgBox "This will check project type and year on current and last period month end report."
currentmonthend = Application. GetOpenFilename("Excel Files (*.xls),*.xls", , "Select CURRENT Month End Report?")
previousmonthend = Application.GetOpenFilename("Excel Files (*.xls),*.xls", , "Select PREVIOUS Month End Report?").......................
View 2 Replies
View Related