ThisWorkBook Closes Prematurely When ActiveWorkbook.Close

Jan 30, 2007

I do not want ThisWorkBook to close prematurely whenever the specified Activeworkbook is closed without saving because there are other tasks to complete. The Workbook_BeforeClose dun seem to fix it for my case below.

Here’s my situation. I want to copy data from a range of a particular protected sheet in 5 (password-protected) workbooks of a similar format, to 5 worksheets(unprotected) in ThisWorkBook, which is the Master Workbook. The password of the protected sheet is common to the 5 workbooks. The passwords of the 5 workbooks are contained in a sheet in ThisWorkbook. After copying the data from Workbook1 ( 1 of 5), ThisWorkbook are prompted for closure, when Workbook1 is closed without saving. Responding to the prompt to save or not to save, forces ThisWorkbook or MasterWorkbook to break the For-Next loop. By setting Cancel = True in Workbook_BeforeClose, I can stop Thisworkbook from closure, but I will still break the For-Next loop. I have considered the method of copying data from a closed workbook, but I dun think VBA allows copying or referencing a closed workbook which is password protected at workbook and worksheet level.

Here’s my coding :

Sub UpdateMaster()

Dim MasterWB As Workbook
Dim TempWB As Workbook
Dim Source As String

Set MyWB = ThisWorkbook
For i = 1 to 5
Set TempWB = Workbooks.Open (Filename:=WB(i), Password:=password(i) )
TempWB.Sheets("ProtectedSheet").Unprotect Password:="SheetPasswd"
MyWB.Sheets(i).Range(XXX).Value = TempWB.Sheets("ProtectedSheet").Range(YYY)
TempWB.Close False ‘dun want to respond toclose ThisWorkbook else it breaks for-next loop
Next i

Application.Quit.

End Sub

View 9 Replies


ADVERTISEMENT

Using Activeworkbook And Thisworkbook.

Jul 3, 2009

I noticed all the code that i have on a userform using activeworkbook will relate to whatever the last active workbook was "who would have guessed hay" Seeing thisworkbook used a lot i decided to go through the whole project and change all activeworkbook too thisworkbook.sheet1 During this i also made a few other changes that i was confident in, When i run it now it errors on the thisworkbook.sheet1.
Is this the wrong way of using thisworkbook to make sure the code always deals with the correct file. (will this ever be affected if the file goes through a Save As)
Or is it during my over conifedents that i have made a error somewhere else and the debuger is point me here cos it hates me.

View 2 Replies View Related

UDF Recalculating Prematurely

Aug 13, 2007

With the assistance of SHG, Parsnip, Dave & Daddylonglegs I have manage to put together a little app that assist our staff with scheduling dates in a calendar to avoid a specific trend.

Code provided by SHG has worked perfectly; see below:

Public DaysOff As Range

Function datNext(datLast As Date, DaysOff As Range) As Date
Dim datBeg As Date, datEnd As Date
Dim iLastPd As Integer
Dim iDay As Long, nDay As Long
Dim iYr As Integer, iMo As Integer

Though the built in DAY function on the calendar is affecting the dates that are calculated cos the function PD also references this. Whenever I change the year or month on the calendar; it changes the UDF, which is not supposed to be. If the recommended dates are going change all the time; as a result of this, it makes this app useless.

How do I get around this? Also is this what is causing the UDF to recalculate?

View 9 Replies View Related

Macro Terminates Prematurely

Dec 25, 2009

I have a macro to reset certain column that are offset by 13 to the right.
If the test for the loop is ActiveCell = BLANK the macro works, but creates an
un needed column at the end.

If I test for a Blank cell before copying the formula the macro ends prematurely.
I am stumped.

View 2 Replies View Related

Loop Stops Prematurely

Jan 7, 2007

I have the following code that loops through a series of data creating a covariance matrix. For some reason the loop only runs through 4 iterations and then stops. I cannot for the life of me figure out what is wrong. Any thoughts? Truncated example workbook also attached....

Sub covarmatrix()
Dim Series1 As Range
Dim Series2 As Range
Dim i As Integer
i = 0
Sheets("rawdata").Select
Do
Set Series1 = Sheets("rawdata").Range(Range("B3").Offset(0, i), Range("B65536").End(xlUp).Offset(0, i))
j = 0
Do
Set Series2 = Sheets("rawdata").Range(Range("B3").Offset(0, j), Range("B65536").End(xlUp).Offset(0, j))..............................

View 8 Replies View Related

Code In 'ThisWorkbook' Module In Add-in?

Apr 29, 2009

I have made a macro that displays a textbox containing the contents of a cell once the cell is clicked. The macro is written in the 'ThisWorkbook' module in the Sub 'Worksheet_SelectionChange'.

Now I want to convert this macro into an add-in so that it works on all the Excel workbooks I open. Is it possible to do this? Or is there a way in which we can automatically put the code in the 'ThisWorkbook' module of any open worksheet (doesn't seem feasible).

If you have any ideas, please let me know?

View 11 Replies View Related

Stop Code For ThisWorkbook

Nov 5, 2009

I use a code in ThisWorkbook to always open on sheet 1 when opening up the excel spreadsheet.Is there a code that I could put in to ThisWorkbook that would do a check that the workbook was e.g. "WorkbookA". If it wasn't then the start up code would be cancelled/ignored.The reason for this is that I am copying this workbook whenthe user has entered details in to it and so I do not want this code to run in the saved workbook, that will have a different name.

Workbook A is the master copy or template

View 7 Replies View Related

Autofilter Of Every Page Within Thisworkbook

Jun 4, 2008

Get a code to take the autofilter of every page within Thisworkbook.

Something like the following (but doesnt work)


Sub FilterOff()

Dim ws As Worksheet
Dim i As Integer
i = 1

For Each ws In ThisWorkbook
Worksheets(i).AutoFilterMode = False
Next ws
End Sub

View 9 Replies View Related

Copy Code In ThisWorkbook Object

Dec 9, 2009

I'm trying to copy all the sheets into a new workbook but the following code does not copy the workbook object called "ThisWorkbook", it does copy ALL the other sheets however.....


ActiveWorkbook.Sheets.Copy after:=Workbooks(fileDst).Sheets(1)

The "ThisWorkbook" object appears at the end of the list names "Microsoft Excel Object" after all the sheets are listed in the VBA project explorer, like this.....


Microsoft Excel Object
<icon> Sheet2(Sheet2)
<icon> Sheet2(Sheet2)
<icon> Sheet2(Sheet2)
<Excel icon> ThisWorkbook

I have code in there that is needed such as Workbook_Open() so it's needed when I copy to a new file or I have to hand copy it everytime.

View 11 Replies View Related

Unload Add-in. Thisworkbook Is Currently Referenced By Another Workbook

Apr 25, 2008

I try to unload my Addin, but i got this msg:

Thisworkbook is currently referenced by other workbook and can not be closed

Each time when i want to remove it from the main menue, I have to go to toolbars > customize and remove it.

before it used to be unloaded normally by unchecked the addin from the addin window.

View 9 Replies View Related

How To Call A Private Module.Macro From Within ThisWorkbook

Oct 17, 2003

When in a ThisWorkbook macro, I want to call a sub/macro in a Module. Usually you can just do a CALL MACRO1, and it will find it. But my MACRO1 is Private as I don't the users to be able to do a Tools, Macro, Macros and see it. So I don't want to make it a Public macro. So how do I call the private sub/macro from within ThisWorkbook?

Can I proceed the sub/macro's name with the name of the module, kind of like CALL MODULE1.MACRO1? Or do I have to make it public?

View 9 Replies View Related

Reference Last Activeworkbook

Jan 2, 2010

I have a userform that presents the user with 4 choices and once they click on one choice a macro runs that filters and formats the data and when the user clicks on the button start over it will reopen the file they were just using prior to the changes occurring. The reason for this is the same spreadsheet is printed up to 4 times with different information (remember the part where the data was filtered?). So basically the user clicks on option 1 the macro runs formating the page and then the user clicks start over (different userform then the first one) and the spreadsheet closes and reopens before the changes.

The way I have excel reopening the file now is by having the user input the file name into a text box and clicking OK this passes the file name to the open code in VBA. How can I tell the code the name of the sheet after the sheet is no longer active (because a userform was made active)? Basically the end goal is for the user to click over and excel will just reopen the file without any user input.

View 3 Replies View Related

ActiveWorkbook.Worksheets

Feb 16, 2009

how I can make the following work no matter which worksheet I might be on?

ActiveWorkbook.Worksheets("Sheet16").sort.SortFields.Clear

View 9 Replies View Related

ActiveWorkbook.SendMail

Apr 8, 2009

I have the below code,

But i want to adapt the "ActiveWorkbook.Sendmail" so I can attach my current workbook as it is, to the email.

Private Sub CommandButton10_Click()

Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = "you@email.com"
.CC = "me@email.com"
.BCC = ""
.Subject = "Testing send to multiple emails."
.Body = "Please review." & vbCrLf & vbCrLf & ActiveWorkbook.FullName
.Send 'or use .Display
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing

Dim Msg, Style, Title
Msg = "E-mail has been sent " & Chr(13) & Chr(10) & "Press OK to continue."
Style = vbOKOnly + vbInformation
Title = "Open Issues List"
Response = MsgBox(Msg, Style, Title, Help, Ctxt)

End Sub

View 9 Replies View Related

Open A Workbook Once Another Closes?

Nov 16, 2011

I've got a list of files in column A (Starting A1), this is complete with filepaths Now I need a macro to open the workbook in A1 then when i close that workbook it then opens the workbook in A2
basically to save me opening them manually each time..

View 2 Replies View Related

Writing ActiveWorkbook Name To A Variable

Nov 17, 2009

I run the macro on a currently open workbook (name could be anything) and open another workbook (name known) and step through the sheets copying various blocks of data across to the first workbook. I need to Activate the 2 workbooks alternatively as I move data back and forth and move from sheet to sheet. What I can't work out is how to determine in code what the "unknown" workbook name is so that I can make sure I activate the right workbook in the code.

I tried Activating the workbook with the "unknown" name and setting a variable = ActiveWorkbook.Name. However the value of this variable changes during the code run when you activate the other book. Is there any way to collect this value and "freeze" it so it won't change as the code runs? At the moment I have got round it by ensuring the "unknown" book is the only one open before I start and refer to it as Workbooks(1) in the code.

View 2 Replies View Related

Allow User To Select ActiveWorkbook

Jan 21, 2009

I have the following code that is going to trigger an export macro and an import macro allowing the user to upgrade the version of their report;


Sub Upgrade_SLA_Report()

x = MsgBox("Is the file you wish to export from open?" & vbCrLf & vbCrLf & "If it is click yes" & vbCrLf & "If its not click No" _
& vbCrLf & "If you need to abort the macro click cancel", vbYesNoCancel)

Select Case x
Case 6
MsgBox "Please use the Windows menu in Excel to ensure that the file" _
& "you wish to export from is the ActiveWorkbook!", vbInformation
' Missing step
If ActiveWorkbook.Name = ThisWorkbook.Name Then Exit Sub
ExpWb = ActiveWorkbook.Name
Case 7
On Error GoTo Handler
.......................End Select

Problem is, I have a missing step within Case 6 which allows the user to ensure that the file they are exporting from is the ActiveWorkbook.

View 9 Replies View Related

1004 With ActiveWorkbook.PivotCaches.Add

Sep 25, 2009

I am trying to build a macro to be placed in a blank spreadsheet for use as a template.

My development platform is Excel 2003 on Windows XP SP2. The script was initially recorded as a macro against a single data file with absolute range references and worked both on my develpment platform and on the production platform (Excel 2000 on Windows 2000). However, I have been having fits trying to convert it to dynamic addressing for the PivotCaches.Add. I develop Excel solutions a few times a year and this pivot table is the deepest I have dug into OLE code, so I am not an expert and could have a simple problem. I included the entire macro because I am unsure if there are sideeffects to what some of it is doing. I am getting a 1004 error "The PivotTable field is not valid. To create a PivotTable report, you must use data that is organized as a list with labeled columns. If you are changing the name of a PivotTable field, you must type a new name for the field."

Since I do not get this error with the absolute references, I am puzzled as to what to fix. That is another reason for supplying the entire macro: ...

View 9 Replies View Related

ActiveWorkbook.updatefromfile' Is Not Working

Jun 23, 2006

I have a workbook that is used by many people on a network- I am editing and saving data throughout the day, and the other users are constantly having to close and re-open thier file in order to have the most recent data. today i came across the '.UpdateFromFile' command in the help file, which would be perfect, if i could only get it to work. im guessing the problem is the expression, which would be the active workbook, but' ActiveWorkbook.updatefromfile' is not working. The file is on the network, remember, im guessing this is the problem. So, im also guessing i just need to get the syntax right for the filename.

View 4 Replies View Related

IsProtected.ActiveWorkbook.Sheets(1)

Jul 3, 2006

How can I tell if a Sheet is protected (via VBA) ? (Excel 2003)

Something like: "If IsProtected. ActiveWorkbook.Sheets(1)..."

Returnig True or False will be fine.

View 3 Replies View Related

ActiveWorkbook Code Not Running

Jun 29, 2007

I have used a code to find the character "-" and replace it with nothing ("") from several named worksheets across my workbook, which OzGrid helped me with before, and it worked fine. Now I've added the code into my module (at the bottom) it doesn't work. The rest of the code works fine, and it doesn't come up with any errors when I run it, but it just seems to ignore the 'find and replace' part of it.

Sub split1()

Dim fromSheet As Object
Set fromSheet = Worksheets(1)
Dim fromRow As Integer
Dim toRow As Integer
Dim lastRow As Integer
Dim errCount As Integer
Dim thisSectionName As String
Dim i As Integer ' loop counter
Dim rng As Range 'found range
Dim emptyCellAbove As Range
Dim rng1 As Range
Dim arng1 As String 'Address of 1st hit rng1
Dim ws(7) As String
Dim ii As Integer '2ND LOOP COUNTER
Dim iii As Integer '3rd Loop Counter

View 9 Replies View Related

Change Code To Activeworkbook

Jul 4, 2007

This piece of code successfully replaces a module in a range of workbooks -

Sub CopyOneModule01()
Const strModName As String = "Module1"
Dim FName As String
Dim vWbkNames As Variant
Dim lLoop As Long
vWbkNames = Array("CFADS01", "CFADS02", "CFADS03", "CFADS04")
With Workbooks("CF266") 'copies from here
FName = .Path & "code.txt"
.VBProject.VBComponents(strModName).Export FName
End With...........................

View 2 Replies View Related

Variables That Will Retain Value After Workbook Closes?

Aug 5, 2014

I need to create a variable that will be TRUE/FALSE based upon whether the user has made changes to a certain range without running a specific macro. Basically, if they change cells in a certain range, the 'Update' macro must be run. I want this variable to be False if the cells have changed without running 'Update' and then when 'Update' runs, it sets the variable back to True.

I've been able to make this work with a Public variable, but if the user closes the workbook, the variable resets to False. Is there a way to create a variable that will be remember even if the workbook closes?

View 2 Replies View Related

Execute Function When Workbook Closes

Feb 22, 2010

I'm looking for a way to execute some code, when the user closes the workbook/excel.
So far, I've found this

View 3 Replies View Related

Find Closes Possible Value In Cell Array

Nov 21, 2008

I have a simple list of about 4 hundred addresses. Like most US Address, they all start with a street number, for example 1234 Main St. What I would like to do is have a cell where I can type some of the address, maybe just the number itself, and another cell with search the array for all possible matches. So if I type is my criteria cell 1234, I will ahve a result cell that displays 1234 Main St. And if there are multiple address witht he nubmers 1234, such as 1234 Main St. and 1234 Poplar Grove Rd. and 1234 Bennington Ln then I would like for my result cell(s) to display all possible matches. Does anyone know an easy(ish) way I can do this with formulas?

View 2 Replies View Related

Macro That Closes Excel Upon Completion?

Jan 14, 2008

This is my first time posting to the site so I will start with a simple question. I have an email macro that will send the workbook to a specific recipient. What I want it to be able to do is close excel after the macro is ran and the email is sent. If anyone would be kind enought to supply me with a code that will work .....

View 9 Replies View Related

Automatically Closing One Workbook When Another Closes

Jul 22, 2006

I have a central workbook that relies on data from other workbooks during the various calculations. I am trying to write some code so that when a user closes the central workbook, all of the other workbooks close as well. I have added my code to the thisWorkbook code, but this does not seem to work. Here is an example of the code. The object is to look for a workbook called Import_Sheet5 and to close it if it is open.

Private Sub Workbook_Close()
Dim Wb As Workbook
Dim sSought As String
sSought = UCase(wbName)
For Each Wb In Application.Workbooks
If wbName = Import_Sheet5 And InStr(Wb. Name, wbName) Then
Wb.Activate
Wb.Close SaveChanges:=False
End If
Next
End Sub

View 7 Replies View Related

Count How Many Shape In The Activeworkbook Are Ovals

Apr 15, 2009

i'm tring to count how many shape in the activeworkbook are ovals like so :

View 3 Replies View Related

Focus To The Activeworkbook And Not The Actual Add In Workbook

Oct 15, 2009

i am creating an add in that will allow me to display all pivot tables in a workbook, their name, sheet location and source data in al listbox (called LBPivot) on a form (called FrmPivot)

My problem is that i am not sure how to make sure it points the focus to the activeworkbook and not the actual add in workbook?

View 6 Replies View Related

Selecting ALL Worksheets In Activeworkbook As An Array

Mar 21, 2008

I recorded the following macro to select all the worksheets in the Activeworkbook by clicking on the first worksheet and then hitting Shift Tab and selecting the final worksheet (thus '[Group] selecting' all worksheets in the active workbook).

Sub Macro1()

Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
Sheets("Sheet1").Activate
Range("A1:B2").Select

End Sub
How do you generalise the Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select if the number and names of worksheets varies from workbook to workbook?

View 9 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved