Macro Only Runs Once
I can't seem to find an answer for this, but as an alternative, on Worksheet Activate the code runs and places a 1 in Range("A1") and therefore the next time the macro will not run.
This works fine for me, but just thinking if somebody who doesn't know why the one is in A1 and deletes it this macro will run again on sheet activate.
Private Sub Worksheet_Activate()
Dim LR As Long
Dim rng As Range
If Sheets("Charts").Range("A1").Value = 1 Then Exit Sub
LR = Sheets("POD").Cells(Rows.Count, "B").End(xlUp).Row
.Range("I129").FormulaR1C1 = "=ROWS(R1C1:R[-128]C[-8])"
Set rng = .Range("A129").Resize(, 10)
rng.Copy rng.Resize(LR - 4)...............
View Complete Thread with Replies
Related Forum Messages:
Creating A Macro, That Creates A New Button, Which Itself Runs A Macro..
I have a long complicated macro that processes a ton of data and gives the output in a new sheet. I then want to create new buttons (or some sort of user clickable triggers) on this new sheet that runs another macro.
I have got the actual adding of buttons in the sheet working, but I can't find a way to automatically assign macros to newly generated buttons during runtime. Is this even possible (or are there any clever tricks I could use to get around this?)
Macro Runs For A Bit And Then Crashes
I have created a macro in xl2000 which was working fine - although through corporate upgrades my machine has now been upgraded with xl2003 and the macro runs for a bit and then crashes on the code below, although it only highlights teh 'rnum'
rnum = ActiveCell.Row
Is there a difference between xl2000 & xl2003?
Macro Only Runs Manually
Running Windows XP; Excel 2003
I have a fairly simply macro.
It copies certain sheets out of a workbook (for a new workbook)
Unprotect the sheets in the new workbook
Deletes a particular cell on each sheet
Unhides a sheet
Sets all of the new worksheets to normal view
Protects the new sheets
Lets the user save and name the new workbook.
All is working fine Except it will not change the new workbook from Page Break View to Normal view.
The code I'm using = Sheets("name").Activate
Here's the strangest part. When I run the macro from a command button, the newly created workbook retains the page break view (as is in the original).
When I run the macro line by line via F8, IT WORKS JUST FINE
Macro Runs Slow
The code below runs on a spreadsheet that has approx 600 rows which INDEX and MATCH another spreadsheet which has approx 600 rows. I takes about 4 mins to run.
ActiveCell.FormulaR1C1 = "Compared CCCD"
Columns("T:T").ColumnWidth = 15.29
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
Application.CutCopyMode = False
Splash Screen While Macro Runs?
I searched for this and found a few examples on splash screens, but if someone could help I would appreciate it.
Basically I have this massive macro that runs, I recorded some of it, and VBA the rest. It does a bunch of things like bringing in different spreadsheets, formatting vlookups blah blah blah... Anyway for a nice touch I was hoping that I could get a splash screen or something that will run while this macro is running in the background. How hard would this be? The macro is button driven...
Run A Macro That Only Runs On The Filtered Data
I have a spreadsheet that is made up of single line items with sub-totals at various points going down the sheet (ie the spreadsheet is split into sections)
Each section is about 100 rows long and 40 columns wide, 10 of which are sub-totals, all using the same formula from that i enter in column A.
As i add new sections i have recorded a simple macro that copies the active cell (ie A15 for example). It then pastes into D15, F15, H15, N15, X15 and then returns to A15.
I have linked this up to ctrl X for ease of running.
I have around 500 section totals to "ctrl X", per spreadsheet and 10 spreadsheets to do in total. I have firstly filtered all the line items (rows) out to leave me just the sub-totals to [ctrl x] [arrow down] [ctrl x] [arrow down] [ctrl x] etc etc etc....
Is there anyway to automate this process, i have tried recording another macro of me [ctrl x] [arrow down] about 30 times, but when i run it, it pastes on the hidden rows, not just on what you see on the screen. Is there a bit of code i can enter so it only sees what is visible.??
Open Workbook Macro Only Runs Once..
i have a button on my workbook1 that opens another workbook (lets call it workbook2) and automatically runs a macro on opening it. Once opened i have a button on workbook2 to close itself. I then go back to see workbook1. This all works but then when i click on the button to open the workbook2 again it opens but the macro does not run.
Unlocking Cell After Macro Runs
I have a macro in my worksheet that runs as a change event on certain comment cells. This macro unprotects the worksheet, expands the merged comment cell that just change, and re-protects the worksheet. The cell expansion works great. When I re-protect the worksheet all of the cells work correctly, except the cell that was just changed. Any other "unlocked" cell in the document stays unlocked after the protection is applied, but the cell that just changed becomes locked. I need this cell to remain unlocked to allow the user to update the comments. Here is my full
Turn Autocalculation Off While Macro Runs
I have a macro which reads data from a large number (up to 500) of books in a folder. This extracted information is subject to some fairly heavy analysis which means that the macro runs very slowly as the sheet is constantly calculating.
I would like to add some code - maybe after 'screen updating = false' - that would turn off auto calculation while the macro runs and then restore it once the macro is finished.
Confirm Prompt Before Macro Runs
I have a button. When pressed, it runs a macro. Instead, after pressing the button, I would like the user to confirm to run the macro and display some info about it. This is to make sure the user does not accidentally run the wrong macro (button). I just need a prompt box, with a line info, and the two choices YES and NO. If NO is selected, nothing happens. If YES is selected, macro continues.
Macro Only Runs In Step-Thru Mode
I have a peice of code which opens up a number of Workbooks (200+) and updates a series of control tables in each. Given our security etc environment, links and external references etc are not possible. The target files must all be standalone and self-sufficient.
The problem I have is that when I run the procedure in question in the usual way, the procedure simply terminates after the first file is opened. No error messages, no distress - it just stops. I have put debugging calls all around the "Workbook.Open" call, and it simply doesn't make it out of the call. There is no Auto_Open code in the workbooks being opened and (as I indicated above) no external links, references or function calls.
What's weird is that if I step through the procedure in the Command Debugger, everything works fine. Even weider, if I complete step-by-step processing on the first target file then I can press "Play" and the code will complete execution and process all the remaining files without error.
I have rebuilt/recreated/re-ordered the target files and even moved them to a different volume.
If anyone has seen this before, or has any idea what the cause may be, or even just a wild idea, I'd love to hear it.
Code segment attached.
'*** Process each file in the list provided
For intCounter = 1 To intWBS_Files
Call Debug_Msg("Opening WBS File")
Application.EnableEvents = False
Set wbkThis_WkBk = Application.Workbooks.Open(strWBS_Files(intCounter), 0, False)
Application.EnableEvents = True
Call Debug_Msg(("Opened WBS File:" & Chr(13) & strWBS_Files(intCounter)))
If (wbkThis_WkBk Is Nothing) Then
Call Write_Error_Record("File Open Failed", strWBS_Files(intCounter))
Show Userform While Macro Runs
I got a code that makes an animated userform popup (web browser in userform). that works smoothly. but, when I have that code before two more codes. The userform does show, but the animation does not. Until all the following two codes are finished running. The purpose was to have the animation running while the two codes are being processed.
Main Code: Code with 3 different codes.
Private Sub cmdAdd_Click()
Dim iRow As Long
If Sheets("LookupLists"). Range("N2").Value = "EXACT" Then
Application. ScreenUpdating = False
' Loading user form popup
Macro With Delete Row - No Longer Runs
This macro ran fine until I started using Offset on ranges to have them extend. The macro replaces "L" with blanks but does not go on to delete the rows. The name "Type" refers to =Offset(Mem05!$A$2,0,0, CountA(Mem05!$A$2:$A$270),10)
Relevant part of Macro
Selection.Replace What:="L", Replacement:="", LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
On Error Resume Next
Is it using Offset that could be causing this error?
Macro Runs On Wrong Workbook On Close
I have a macro on a particular workbook that runs when the workbook closes.
This runs fine when I close the workbook itself. If I happen to have other workbooks open and then I close EXCEL rather than an individual workbook, my macro that runs on close always runs when it is not the active workbook.
To put it another way, say that my 'run on close' macro is workbook 1. I also have workbooks 2 and 3 open as well. If workbook 3 is the active workbook and I choose to close Excel (and thus close all three workbooks), my 'run on close' macro runs straight away and, worse still, will run it on workbook 3 (my active workbook).
How can I stop the macro running until it is the active workbook in the closing chain, so that it only runs on the correct workbook? (workbook 1 in my example)
Worksheet Change Macro Runs Differently
When I step through a macro (sessions) or run the macro seperately, it works as intended. When I have it run off of a worksheet_change it doesn't work. Is there an easy fix for this?
Dim a As Integer
Dim x As Long
x = Sheets(1).Range("a" & Rows.Count).End(xlUp).Row
For a = 2 To x
If Cells(a, "m") = Cells(a, "d") And Cells(a, "m") 0 Then
Cells(a, "f").Resize(1, 6).Select
Selection.Locked = True
ElseIf Cells(a, "m") Cells(a, "d") Then
Cells(a, "f").Resize(1, 6).Select
Selection.Locked = False
Macro Runs Fine In Debug But Not From ComboBox
I have a workbook that contains 9 worksheets. Four of the worksheets have the same row lables in column B and must always be the same. Three of the worksheets are fed from the 4th sheet so that the integrity of the lables is maintained.
The user can change the lable value to meet their needs and they can insert or delete rows (within limits) as they see fit.
The attached macro "Sub Delete_Row_All_Sheets()" works fine when I run it from Debug (F8).
However, when I run it from Forms.ComboBox the macro returns to the "y = Application.InputBox("Enter The Row Number You Wish To Delete", _" screen. If I select cancel, the results I anticipated occur but I don't want the user to have to assume this will happen.
Why does the macro return to this screen when executed from the ComboBox but not when executed from Debug?
Pivot's Data Source Changes When Macro Runs
I have a number of pivots in a workbook. Well, I created a macro that updates the data sheets (located in the same workbook) and every time I run the macro, my data source for pivots changes and doesn't pull in all the columns. I'm at a loss as to why that happens (Although, I think it has something to do with macro deleting some columns and adding new ones).
Formula That Runs A Macro When Data Is Present
I work on csv files which are created everytime someone makes a change in certain parameters used by a robot, however when opening these in excel they are nonsensical.
This can be changed with a few macros etc. but my manager would like it to be a "press one button and it works" procedure.
So what im looking for is some sort of function that checks if there is any data in the next column of the spreadsheet and runs a macro in that case and only that case.
Macro To Move A Cell Right Every Time It Runs
I have a spreadsheet with sales figures for a company over a few months. I want to create a macro that will insert a new month after the last month. I have got it to work for the first month but after that it will just insert 2 black cells after.
i have a named cell called Average_slales_per_month that is next to the last month all the time.
Hide Code Actions As Macro Runs
I have written a macro which references to several different sheets and cells therein. The macro is assigned to a command button on 'Sheet 1'. When I click the command button, the screen flickers and the user can see the macro running all the commands I have written. Is there a way of stopping this - maybe replacing it with a static screen view whilst the macro runs?
UserForm Show While Another Macro Runs Is Blank
I have a modal userform that I load to warn the user that the system is busy processing a scheduled job. The form is nothing more than a screen that comes up and says "One moment please..." with the form caption set to "Processing...". When I use the form in this way, if I don't use an application.wait command the form just shows the header without the text that it shows when I look at in the in the VBA IDE. (In other words it is just blank.)
Date Search Macro Runs, But Returns No Results
I'm trying to make a macro to keep track of our rental properties. This macro, in another variant, worked as planned, searching for data in a column, copying the row to a new sheet, and clearing the contents of that row.
So I've tried to make it search for a date in a new workbook and do the same. It runs, and tells me it has returned zero significant results (did not find data to move and delete).
My column I is formatted mm/dd/yy . And the rest of the workbook is protected.
Here's what I have:
'Macro written 10/2/08 by Jeff
Dim DestSheet As Worksheet
Set DestSheet = Worksheets("Sheet2")
Dim sRow As Long 'row index on source worksheet
Dim dRow As Long 'row index on destination worksheet
Dim sCount As Long
sCount = 0............
Prevent Sheet Change Macro When Solver Runs
Is there a way to prevent the Workbook_SheetChange event macro from triggering when I run Excel's Solver?
The solver goes through 100 or so iterations changing multiple cells each of which seemed to trigger the Workbook_SheetChange event. If there was a Solver Run event, I could turn off application events, but as far as I know such an event does not exist.
Script Works In Debugger But Doesn't When Macro Runs
I am trying to do a very simple Macro for merging data. My problem is that the macro works when I am stepping through in debugger, but does not work when I am in excel and I use the shortcut key (crtl + m) to run the macro. What happens when it doesn't work properly is it selects rows 2 and 3 and tries to paste them to the new workbook and I get an error saying the cells are not the correct type. I don't want it to do this because rows 2 and 3 are titles and have nothing to do with the data I am moving. As I said before, when I open VBE and step through the code it works just fine. The error only happens when there is no data on the initial work sheet.
Run-time Error Every Other Time The Macro Runs
I'm not sure why this is happening, but every other time I run this one specific macro, I get a "Run-time error '1004': Paste method of Worksheet class failed". I even tried running this macro, then running a different one, then running this again, but I still got the error every other time.
Every time I get the error, it highlights this line of
This is all of the code up to where I get the error:
' after user has hit Yes on the RegenerateRequest macro, this posts the new request to
' the log, generates the new file and attaches it to an email
Range(Range("A" & ActiveCell.Row), Range("K" & ActiveCell.Row)).Copy
UDF #value! Error When VBA Runs
I have written a number of UDFs, which work fine in my spreadsheet. Two of these are more complex, and I'm having a few problems...
When I run any VBA routine (i.e. control passed to VB), these two UDFs return #VALUE! errors, but I can't see why. As these are Functions, I can't think of a way to test where the error is being generated, like I would in a Sub
When I return to Excel, any recalculation fixes the problem, which makes me think something is declared incorrectly. All named cell references relate to other VBA functions, calling the relevant row / column numbers, and I think these are all correct. I've tried removing AS INTEGER etc, to avoid type mismatches, and adding APPLICATION in front of worksheetfunction...
Function precedentStart(Target As Range) As Integer
Dim splitPrecedent As Variant, lookupI As Integer, rowI As Integer
precedentStart = .Cells(Target.Row, colOrigStart).Value
splitPrecedent = Split(Target.Text, ",")
For i = LBound(splitPrecedent) To UBound(splitPrecedent)
rowI = WorksheetFunction.Match(splitPrecedent(i), .Range("schedRefs"), 0)
lookupI = .Cells(rowI, colAdjEnd).Value
If lookupI > precedentStart Then precedentStart = lookupI
Workbook_open Runs On Closing
I've a problem with the below code.
Private Sub Workbook_Open()
Dim x As Date
x = InputBox("Enter End Date!")
Range("B2") = x
With Application. CommandBars("File")
.Controls("Save").Enabled = False
.Controls("Save").Visible = False
.Controls("Save As...").Enabled = False
.Controls("Save As...").Visible = False
.Controls("Save").Enabled = False .................
Progress Bar When Macros Runs
I want to display a progress bar for when those macros are run. I've read many different ways to do this when I search it on google but I would prefer to use the cleanest method where I can simply call the appropriate procedure for each different macro, without changing any of the other code of the progress bar.
Module Runs On One Computer But Not On Another
I wrote some code that runs with no problem on my computer as well as another coworkers computer, but will not work on a 2nd coworker's computer. The "subscript out of range" error shows up at the point when the EMInput worksheet in the EMInput workbook is copied to the new workbook called "Out of Plane Section Cuts" (SEE BELOW). Is there an option in EXCEL or somewhere that could affect this. I don't see why you would get a subscript out of range error since the EMInput workbook is open....
VBA On Error Goto Only Runs Once
why the On Error GoTo statement only executes the first time an error occurs in the following
On Error GoTo CubeNotFound
For x = 2 To TotalRecords
Cells.Find(What:=WSID, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
'Other actions are located here, but have been removed. These actions take place if the Find is succesful.
Message = MsgBox("WS ID " & WSID & " was not found! Excel will continue with the next WS ID.", vbOKOnly, "WS ID NOT FOUND")
I have that statement there because if WS ID is not found then VB generates an error that the user won't be able to interpret, and also stops the code. I want VB to continue to the next record if one is not found.
Spreadsheet Runs Slow..?
I created this spreadsheet to assist with pricing for my towing company. I struggled with getting the dropdown lists and combo boxes to work, and I created and deleted many of them before I got it to work like I wanted, but I think I left a mess. It runs slow, showing a delay when I click on different radio buttons, and there is an exclamation point in the Excel icon in the file directory. Could someone take a look in the code structure and tell me if there are any opportunities to clean it up. RateCalcApp.xlsm
Animation While Query Runs
I have an Excel workbook which runs a query via DAO against an Access database. The query usually takes about 6-7 seconds. Id like to do some animation while the query is running. My animation is just a simple Autoshape that I rotate (1 degree at a time) in a loop. Is there a way I can excecute my query and then continue to run my code while the query is excecuting?
Extra Event Runs At End Of Process
I have a forms based Excel application which until a few days ago has not had this problem.
When a particular process runs, the final part of the procedure is to reset a control colour to mark the process as complete, and if i step through the code, this is exactly what happens. If I then run the code without any breakpoints, it runs the afterupdate event of the code which triggered the process. As stated, this does not happen when stepping through the code, but only when there code is allowed to run. I can capture it by addin a breakpoint into the event, and seeing it trigger twice, yet if i step through each part of the process, it does not do this.
Is there something I am missing here? Has anyone had anything similar?
It's the final part of the bug fixes, and until this is resolved, I cannot release it.
Redistributing Cells When Inventory Runs Out...
I have a bunch of geographic "buckets" (17) that hold inventory. What I need to do is carefully track the inventory of each area. If at any point, this inventory runs out, there is still a possibility that some could be sold from this bucket. So, what I need to do is redistribute the volume that is sold from the sold-out bucket to all of the other buckets.
This is not linear -- i.e., any of the buckets could be out at any time so the solution is very fluid/dynamic.
Circular Reference When Code Runs
I'm at my wits end trying to work out why I'm getting a circular reference when this code runs:
Private Sub TextBox1_Change()
Cells(Rows.Count, "K").End(xlUp).Offset(1).Value = Range(TextBox1.LinkedCell).Value
With Range("K5").Resize(40, 1)
.FormulaR1C1 = "=OFFSET(" & Cells(Rows.Count, "K").End(xlUp).Address(True, True, xlR1C1) & ",-(ROW(RC)-ROW(R5C)+1),0,1,1)"
.Value = .Value
The circular reference cell is K29. I have an "X" in K46 after which all the values in TextBox1 are copied.
Closing Workbook Runs BeforeClose VBA Twice
In the various codes I am using AutoOpen, AutoClose, Workbook_BeforeClose and Workbook_BeforeSave Subs. BeforeClose and BeforeSave are in '_ThisWorkbook'; AutoOpen and AutoClose are in a Module. I also use Workbook_Open, Workbook_Activate and Workbook_Deactivate, also in _ThisWorkbook. I put message boxes thru out code to be sure code was running right. The Workbook_BeforeClose is running twice under certain condition (when a cell in active workbook sheet is blank ("")). I do not understand why it is running twice.
For condition where there is data in cell M10, this creates a whole other issue ( multiple running of mutliple various Subs) which I believe I should deal with in different thread/question.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox "Test-Before close"
If Range("M10") <> "" Then
Dim PanelName As String
PanelName = Range("M10").Text
Mouse Focus Changes After Script Runs
I have an annoying issue that occurs after running a reasonably long script involving a number of spreadsheets. The script all runs fine and leaves 4 output spreadsheets open for final manual formatting. However the mouse focus is changed by the script (somehow?) and no matter what I do the mouse wants to multi select cells. Clicking in a single cell always selects at least 3 or 4 cells and sometimes the whole column.
The only place in the code where I set any rules realted to selection is to set a file dialog to allow multi selection of files. That is
Public Array Not Clearing Between Runs
I have a public array in a module in my spreadsheet. The array is an array of a class type (not integers, strings, etc). When I run the macro that uses the array for processing the first time, everything seems to work properly. However, if I run the macro a second time WITHOUT getting out of Excel and coming back in, it doesn't come back with the proper results. It seems like either the array isn't being cleared out properly between the macro runs, OR that something in the macro is overwriting memory. Is there a way to make sure the array is being cleared out between runs of the macro?
Histogram Parameters To Be Filled In At The End Of All The Runs
Those "False, False, False, False" parameters to run a histogram, whatever do they mean? Application.Run "ATPVBAEN.XLAM!Histogram", Range("Inputs"), Hist.Offset(0, 3), Worksheets("OutputSheet").Range("Outputs"), False, False, False, False
Through recorded code, I've seen that to create a histogram, the third False is a "True"... but let's say I've already got the blank histogram created. I'm running a simulation (where the inputs range is being updated with every run), and I want the histogram to be filled in at the end of all the runs. What do these parameters have to do with it? Having them all as false, like I've been told, isn't working.
GIF Not Visible On UserForm While Code Runs
I have some code to put a GIF animation into a web browser on a userform. This works fine - on its own. However, once the GIF has loaded I want to run a whole bunch of code in the background. If I run the code all at once, the userform appears but the picture doest show - but when I place a breakpoint between loading the userform and the main sub routine of my code - the GIF loads and the animation is shown all the time my code is running in the backgorund.
Code Runs Over And Over Again And Updating Pivat Table
I have some code sat in worksheet_change (or worksheet_pivotupdate):
If ActiveSheet.PivotTables("PivotTable2").PivotFields("Area").CurrentPage = "(All)" Then
ActiveSheet.PivotTables("PivotTable3").PivotFields("Area").CurrentPage = "(All)"
If ActiveSheet.PivotTables("PivotTable2").PivotFields("Area").CurrentPage = "London & Essex" Then
ActiveSheet.PivotTables("PivotTable3").PivotFields("Area").CurrentPage = "London & Essex"
The problem is that this code runs over and over again, as each time the pivot table updates, it constitutes another update, and so on and so on....
Double Click To Run A Sub But Then It Runs The Userform Activate Sub
I have a userform that has a listbox that contains data in 7 columns. I also have a command button that when clicked allows the user to edit the data in whatever row of the list box is highlighted. This works fine.
I decided to have a double click in the listbox on a row do the same thing. So I simply picked the double click event and called the command button sub. When I try this, it runs the command button sub, but then it runs the userform Activate sub. This is a problem as it does things that I do not want to occur again.
I then decided to put the command buttom code in a separate sub and then call that sub on the double click -- same result.
Then I just put the exact code that I have in the command button into the double click event -- still does it.
Anyone know why this happens, I see no reason for it. It works great in the command button, but with double-click it run the userform Activate sub when it is done.
Here is the code that runs (if called by a command button it works fine, if called by a double_click in the listbox, it runs the userform_activate sub):
Private Sub Edit()
SetCell = "d" & ListBox1.ListIndex + 5
Range("AA1").Value = 1
NextRow = Range("D65536").End(xlUp).Row
EndARR = "J" & NextRow
ODCData = Range("D5", EndARR)
ListBox1.Column = WorksheetFunction.Transpose(ODCData)
Range("AA1") = ""
ListBox1.ListIndex = -1
Calculation Code For Calculator Runs Slow
I am making a small push button calculator to enter data into a textbox on a userform in an add-in file and this works fairly slowly. I am trying to concatenate a list of numbers in a textbox that simulates a calculator screen when entering numbers.
Private Sub CommandButton6_Click()
Val = "6"
Dim valand As Range
Set valand = ThisWorkbook.Worksheets("Stageing").Range("K65536").End(xlUp).Offset(1, 0)
valand = Val
Dim A As Range, B, C, d, E, F, G, H, I, J
Set A = ThisWorkbook.Worksheets("Stageing").Range("K2")
Set B = A.Offset(1, 0)
Set C = B.Offset(1, 0)
Set d = C.Offset(1, 0)
Set E = d.Offset(1, 0)
Set F = E.Offset(1, 0)
Set G = F.Offset(1, 0)
Set H = G.Offset(1, 0)
Set I = H.Offset(1, 0)
Set J = I.Offset(1, 0)
TextBox1.Value = A & B & C & d & E & F & G & H & I