SaveCopyAs. Code Failing To Fire.

Jan 28, 2009

I have an Excel 2007 workbook with over a dozen user forms and plenty of code that I have mainly obtained from the web and tweaked to suit my needs. I am a novice with VBA, so not really up to writing anything but quite simple code.

My issue is I have some code set to fire on Workbook_Open that will save a versioned copy of the workbook, to the same network folder that the original resides in, with an incrementally increasing file name. the file is stored on a network, but access should not be an issue as I have full access and have no problem saving to this folder, also the event works fine up until I shut down Excel. I have also tried saving to My Documents to avoid the network issue, same result, worked fine as long as Excel is not closed, fails if I do.

It all works fine until I close down excel completely and re-open, where it then fails to work. There are other events happening in the same Workbook_Open sub that still work fine each time, so the sub is firing on open, but this one event fails. I get no error message at all, just no new file copy created.

The workbook is essentially doing the job of an Access database (I know even less about Access), I have a user form as a main menu and various other forms for various data entry and reporting tasks. I am exiting the w/book via a cmd button on the main menu (I've deliberately restricted users control, as many are not very pc literate). I have conducted numerous trials consisting of running the code from the VBA window, closing w/book via cmd button WITHOUT accepting the std save option and re-opening from Explorer window, closing w/book via cmd button WITH accepting the std save option and re-opening via Explorer and all worked perfectly over many sample runs. But when I closed Excel totally (Not just the w/book), created a desktop shortcut and opened from there, that line of code just doesn't seem to do anything, no error or hang or anything. The only way I can get it to function again, is to re-save the w/book (As either a new file with code edited to suit, or overwrite the original), and keep Excel open whilst only closing this w/book. It then functions perfectly again on opening.

I have enclosed below the Workbook_Open sub and some other subs that append to a user log on opening, these work fine all the time. I enclose the others in case they may have some bearing, as they are also fired from the Workbook_Open sub and show no issues at all.

Any suggestions gratefully accepted as I am struggling. As mentioned above, the ONLY part of the Workbook_Open sub that fails is the line "ThisWorkbook.SaveCopyAs newFileName". I have even added "MsgBox "The new FileName is: " & newFileName" immediately after it, and that displays new filename correctly. It seems to me to be hingeing around the SaveCopyAs event, but I don't want to assume that, being the novice I am.

View 12 Replies


ADVERTISEMENT

Worksheet_Change Code: Determine How To Get The Code Below To Fire Whenever Cell J10 Is Populated

Jul 30, 2009

I am trying to determine how to get the code below to fire whenever cell J10 is populated and do nothing when cell J10 is not populated but I can't quite get it. (Cell J10 is manually changed and is not changed based off of a formula)

View 4 Replies View Related

Fire Chart VBA Code On Validation List Choice

May 8, 2009

very complex spreadsheet for weight & balance calculations. It's to the point where everything works perfectly in Excel 2007, but it must be used primarily with Excel 2003. Discovered that a crashing problem had to do with condtional formatting, that's all been cleared and will soon be fixed, but there's one that I just can't quite figure out.

I'm using the worksheet change event to trigger the update of charts... In this case, it's looking at a particular cell that has data validation on a dropdown as the trigger. Works perfectly in 2007, and if I put a msgbox prompt in to be launched by a change of that cell, it launches. I can put the chart update code in a separate sub and launch it manually every time, but I cannot call it from the worksheet change.

I've included attachments showing what I believe are the relevant bits of code -

View 9 Replies View Related

Find In Code To Search On Different Sheet Is Failing

Jun 26, 2007

The below code works well if it is on the proper sheet, if the active sheet is not active then it errors- Why? I think I have properly qualified the path to the desired sheet I wish to search on.

Error msg: Activate method of Range class failed

And how do I handle this?

Set Ws = Workbooks("ViewRenameDeleteFiles.xls").Sheets("Item Record List")
What = InputBox("Enter the Name You are Searching for its Record#", "Item Name Searching On")

Ws.Cells.Find(What:=What, After:=ActiveCell, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlNext).Activate

View 9 Replies View Related

Code Failing To Subscript Out Of Range Error

Jun 21, 2006

I have the following code which works successfully on my Excel 2002 PC and my Excel 2003 PC.

However when I take it to a clients machine it fails...

View 9 Replies View Related

Autofilter Code Failing On Shared Workbook & Protected Sheet

Sep 3, 2007

I have a protected worksheet with some macros running on it, and I have been requested to make the workbook shared. Trying to implement this, I keep getting the standard "1004 You cannot use this command on a protected sheet" error when applying an autofilter.

Here is what is making this problem a little tricky:

- As the workbook is shared, I cannot do Protect UserInterfaceOnly because you can't change the protection settings on a shared workbook without unsharing it. Needless to say, I cannot unshare the workbook.

- When I protect the sheet, I do allow the user to use autofilter. Consequently, Sheet.Protection.AllowFiltering and Sheet.EnableAutofilter both are on. Still, I keep getting the error.

The failing line of code is:

shData. Range("_filterDataBase").AutoFilter lngField, strArg

where shData is the codename of the sheet, lngField is the number of the field and strArg is the filtering criteria.

My guess is, that the error comes from the fact that (for some silly reason) in VBA the .AutoFilter method is used to create a new filter, not only to use an existing one. The members of Sheet.AutoFilter.Filters collection are read-only, and cannot be used to modify the existing filter.

View 3 Replies View Related

SaveCopyAs For Only One Sheet?

Feb 6, 2012

Any best way to use SaveCopyAs but for a single sheet.

Here is what I am trying to accomplish: Save a single sheet from the source document, without macros (.xlsx), every time the main file is saved to create a history. Below is what I have, if there is a way that I can use SaveCopyAs so that excel doesn't have to open an additional window every time.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheet1.Copy
ActiveWorkbook.SaveAs Filename:="C:UsersOwnerDesktophistory" & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & " " & Hour(Time) & Minute(Time) & ".xlsx", FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.Close
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

View 1 Replies View Related

Fire A Sub Within A Sub

Jun 25, 2007

I have seen it on here, and I have searched, but cannot find how to start it, saves me writing it twice.

View 6 Replies View Related

Event Fire For Any Workbook

Jun 16, 2007

Is it possible have code in an addin that fires when, X happens in any workbook?

For example,

Any time a user tries to print a worksheet a message box pops up asking, "are you sure you want to print that"

View 9 Replies View Related

Cell Value To Fire Macros

Oct 24, 2006

I wish to fire one of 2 different macros, depending on the Target.Text value.
If the Target cell (in a named range) is blank then one macro fires, If the cell has text then another macro fires.

this is what I have

If Target.Column = 7 And Target.Row > 7 And Target.Text <> "" Then ViewPicture Target
Else
If Not Target.Column = 7 And Target.Row > 7 And Target.Text <> "" Then GetPicture Target
End If

I can only get the first if statement to fire, I get an "ELSE IF" compile error on the second "IF"statement.

It is nested in the

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Page
and I would like to get it to work with Named Range's, but not enough understanding yet.

View 9 Replies View Related

Unprotect Failing

Oct 11, 2006

I have a workbook that has several macros. When the workbook is saved, it cycles through and kicks off several of them.

This works fine, no errors. I have another macro that saves and then emails the workbook. When this macro runs, the same set of macros is launched due to the save method however it errors during one of the macros.

Basically what's happening is that the one macro (derivecountry) unprotects a sheet and inputs a data value. This macro works fine when run independantly but when it runs as a result of the email macr, the sheet does not get unprotected and the error results.

Here is the code line that runs to unprotect but doesn't always work

ThisWorkbook.Sheets(strShtName).Activate
ActiveSheet.Unprotect (strPassword)

I've also tried

ActiveSheet.Unprotect password:=strPassword

View 4 Replies View Related

Finding The Right Javascript Function To Fire On

Mar 10, 2007

I am having a problem finding the right javascript function(s) to use in my macros. Use Google homepage as an example. The line

.Navigate "javascript:_dlsetp('ss=2')"

will open the page for customizing your Google page. But what is the function you fire on in the macro to execute the general search? I can send text to the search input box, but I can't find the function that runs the search.
Is there some way to quickly identify the function and the correct syntax without having to learn how all the source code in the web page works? Finding the right URLs, links, and input boxes is fairly straight forward. But not the functions.

View 9 Replies View Related

Email Form Failing

Mar 9, 2009

From this forum I've borrowed code and reused in my own CapEx approval form. The form is originated and goes through three people for approval. Everything seems to work ok on the form but it always forwards to the first approver rather than the next in sequence. I cannot see where the code is wrong.

View 2 Replies View Related

Create Folder Failing

Jun 16, 2009

i run this macro but it fails

Can anbody tell me why please?

And how can i correct it? .....

View 6 Replies View Related

Loop Through All Worksheets - Failing?

May 14, 2013

This macro should copy all data from all worksheets and past them into the sheet named "Consol" however It is not looping and only pastes the one sheet.

Sub LoopThroughSheets()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
Formula
FinalRow = Range("A65536").End(xlUp).Row
Range("A2:U" & FinalRow).Copy

[code]....

View 6 Replies View Related

Macro Shortcut Key Failing

Feb 9, 2007

I am unable to create a macro and later go back and assign a shortcut key and run the macro.

View 9 Replies View Related

Friction Loss Calculator For Fire Hose

Apr 17, 2008

I am attempting to create a friction loss calculator for fire hose, I am using a known formula that calculates the loss based on volume and diameter for pipe. the difference that I have with fire hose in lieu of pipe is that the hose diameter changes with the pressure drop.

I have 3 variables that i input, pressure, beginning diameter and length. however
as the water flows through the line the pressure changes in turn the diameter changes, I would like to set up my spreadsheet so that the initial variables inputed yield the correct diameter, and then reference back to the initial equation and recalculate based on the yeilded diameter, and recalculates,

I can determine the friction loss at 1 foot, in turn determine the diameter at 2 foot, but I wish the spreadsheet to work the calculation over the entire length.

View 13 Replies View Related

Macro Causing Custom Function To Fire

Sep 3, 2007

I have a large file, part of which amongst other things calculates life expectancy from a range of q(x) values (proportion of people that die moving from age (x) to (x+1). Life expectancy is calculated using a user-defined function (below).

My problem is that whenever I run a macro that changes the file, even parts of the file that don't affect the cells using the life function, it jumps into the life function. (An example: copying and pasting values on a different sheet). This is a hassle when stepping through other macros using F8, not to mention the time cost.

Some further possibly necessary information: one macro uses the GoalSeek application to set the target cell that contains the life function

By the way, this didn't use to happen in older versions of a similar file. When running the GoalSeek macro to change target life expectancy it did, but not for any other macro.

Here is the function:

Function life(data As Range)

' Aims to calculate Life expectancy from Qx values
' It assumes first value of Q is Qb, then Q0 to Qmax

Dim Nobs As Integer
Dim j As Integer, i As Integer
Dim q() As Double
Dim L() As Double
Dim T As Double, le As Double

Nobs = data.Rows.Count

View 9 Replies View Related

Refedit Control Failing In 2007

May 24, 2007

I'm finding that my add-ins that worked perfectly on Excel 2003 are not functioning on Excel 2007. One of the main issues seems to be loading any UserForms that use the RefEdit control. I get a message saying:

--------------------------------------------------
Run-time error '459':

Object or class does not support the set of events
--------------------------------------------------

View 5 Replies View Related

Multiple Date Based SUMPRODUCT Failing

Nov 18, 2009

I have the the need to show the sum of the product of sheet 2 on sheet 1 if several conditions are met.

The formula is working except for the first array:

=SUMPRODUCT(--(Bid_Circuits=$A2),--(Bid_Week_End=MONTH(D2)),--(Bid_Week_End=YEAR(D2)),--(Bid_Completed))

When I use XL's evaluate feature, XL seems to find the proper data yet returns #VALUE!

View 14 Replies View Related

Pivot Table Macro Failing On Open

Jun 3, 2008

I have written the following code that is supposed to be running on opening a work book. The macro is being called via Application.Run "CreatePT" which is in the this workbook code in a Sub workbook_open().

The code run on its own is fine with no errors... It only bombs out when its called via application.run then its a run time error 1004? ...

View 9 Replies View Related

Returning Workbook/sheet Through Property Is Failing

Mar 27, 2007

I made a new class to make other code less redundant, but it isn't functioning. The class has a "workbook" and "worksheet" member, and these can be accessed through properties. The problem is that the properties don't actually seem to return anything, and no data can be accessed through them.

Private mActiveWorkBook As WorkBook
Private mActiveWorkSheet As Worksheet

Property Get wSheet() As Worksheet
wSheet = mActiveWorkSheet
End Property

Property Get wBook() As WorkBook
wBook = mActiveWorkBook
End Property

'Sets active WorkBook
Sub SetActiveWorkBook(ByVal wBook As String)
Set mActiveWorkBook = Workbooks(wBook)
End Sub

'Sets the activeWorksheet in the workbook.
Sub SetActiveWorkSheet(ByVal wSheet As String)
If mActiveWorkBook Is Nothing Then
MsgBox ("Invalid WorkSheet selection - WorkBook not defined")
Return
End If

Set mActiveWorkSheet = mActiveWorkBook.Worksheets(wSheet)
End Sub

This class is used in the macro as such:

Dim uDate As Updater
Set uDate = New Updater

uDate.SetActiveWorkBook ("Book1.xls")
uDate.SetActiveWorkSheet ("TestTab")

'Below Code is not functioning

uDate.wSheet. Range("A1").Value = "foo"
' Expected result - set Cell A1 in sheet testTab = "foo"
' Actual Result - nothing

Dim st As String
st = uDate.wSheet.Range("B5").Value
MsgBox (st)
' Expected results - bring msgBox of values of cell B5, this cell is not empty
' Actual Result - Empty Message box comes up

So - its fairly obvious to me that something is wrong with the properties. The members themselves are not null, I have verified in the debugger that the class members refer to actual sheets/workbooks, but the properties don't like passing anything out and show as "variable not set" in the debugger. How can I get this to work?? It works fine when I do not use the class, like such:

Dim wB As WorkBook
Set wB = Workbooks("Book1.xls")

Dim wS As Worksheet
Set wS = Worksheets("TestTab")

Dim st As String
st = wS.Range("B5").Value
msgBox(st)

But I would like to get the class and properties to work to save clutter elsewhere.

View 6 Replies View Related

Delete Rows Without Named Ranges Failing

Apr 3, 2008

I have a dynamic named range in my worksheet:

Range Name = AssignDt
RefersTo: =OFFSET('Raw Data'!$W$2,0,0, COUNTA('Raw Data'!$A:$A)-1,1)

I perform a routine in VBA which deletes unwanted rows of data from my worksheet. The problem occurs if row 2 happens to be one of those rows. It not only deletes Row 2, but it also deletes my Named Range.

View 7 Replies View Related

Fire An Event Or Action On Visual Basic Editor Close

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

Check Multiple Cells, Fire Macro Based On Result

Jul 14, 2007

I have three cells where a user will input data, in some cases (2T Weld Condition) they will only enter in B12 and C12, but in the case of a 3T weld they will also enter data in the D12 cell. I then use a formula to check for the thinnest material and that is entered into another cell with a formula, B14. I then need to check the value in B14 to verify if it is above zero, but below 0.65 (mm). If it is then I would like to have a message appear on the screen notifying the user that they are outside the acceptable range.

I cannot figure out how to use the information in cell B14 because it is a formula and my code only works with a direct value. The code I am using works if I point to one of the three input cells, B12, C12 or D12. How do I use the information in B14 to work with the code below.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$12" Then
If Target.Value < 0.65 Then
Run "MyMacro"
End If
End If
End Sub

MyMacro loads a userform with buttons, etc.

View 4 Replies View Related

If Statement Failing When Comparing Text Box Values On Userform

Jun 12, 2014

I am trying to compare to values that a user inputs in a user form. It's ok if they are not the same I just want the user to know it. I am only including the part where the if statement is failing:

VB:
If Me.VSLongQuant.Value <> Me.VSShortQuant.Value Then
MsgBox VerUnBal
If VerUnBal = vbNo Then
Exit Sub
End If
End If

I have VerUnBal as Long and defined as:

VB:
VerUnBal = MsgBox("The Long and Short option Qunatities are not equal." & Chr(13) & _
"Is this intended to be an unbalanced vertical spread?", vbYesNo, _
"Unbalanced Spread Alert")

I can provide more info as necessary. There are two problems 1) the message box is appearing whether the numbers are equal or not, and 2) clicking No in the message box does not cause the Sub to exit.

View 6 Replies View Related

VBA - Cells Property Failing - Object Does Not Support This Method

Jan 5, 2010

I am trying to use the Cells Property in VBA but it is not working and I cannot figure out why for the life of me. Below is my ....

View 9 Replies View Related

Worksheet_Change Event Wont Fire When Target Changed By ListBox Selection

Dec 5, 2008

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Me.Range("R1C1")) Is Nothing Then
'do something
End If
End Sub

Now, that Private Sub works fine if you change the value of R1C1 manually or from another macro.

But if R1C1 is the cell linked to a list box, nothing will happen if you change its value by selecting different items in the list box.

View 4 Replies View Related

Fire VBA, On "Locked,Protected And UnSelected Cell?"

Apr 29, 2006

I want a VBA function to fire "ONLY" when a cell is changed.Peramiters:
Data ertry range is full, Last cell in SubTotals range has changed from $0.00 to anything >, Last 3 cells are Locked, Protected and Unselectable Attached is a copy of the work book. I have posted on VBA Express and we have tried to solve this problem, We have come a long way. You might want to read the history link above.

View 4 Replies View Related

Change Event Causing Event To Fire Again

Aug 7, 2006

I have the following code, which works perfectly:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim TotalDays As Integer

TotalDays = Range("C65536").End(xlUp).Row + 1

The code points to the next blank cell so the user can input a value. Each time the user enters a value I want to re-run the code so that the colour of the cell changes.

However I also want to perform various calculations on the sheet. However this means the sheet is being changed and so continually repeats my code.

How do I add the following, to my previous code?

Range("E8").Value = Cells(7, 6) * 2.5

View 9 Replies View Related







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