Stop Macro Execution From UserForm
Jun 7, 2013
On a worksheet I have a command button that displays a ConfigureCatalog form.
Code:
Public StopRequested as Boolean
'Worksheet Command Button will display the Configure Catalog Form
Private Sub CmdConfigure_Click()
CatalogConfigForm.Show vbModeless
End Sub
The ConfigureCatalog userform has two Command Buttons: cmdRebuildCatalog, and cmdStop. RebuildDSWCatalog is a macro that reads and analyzes just over 35,000 records and updates other worksheets. As it runs, it repaints the CatalogConfigForm with a progress message every 100 records. It can run for about 3 minutes. I want to provide a "STOP" button that will allow the user to interrupt the RebuildDSWCatalog macro and return control to the user.
Code:
Private Sub cmdRebuildCatalog_Click()
StopRequested = False
Call RebuildDSWCatalog
End Sub
Private Sub cmdStop_Click()
StopRequested = True
End Sub
While processing the 35,000 records, I want the RebuildDSWCatalog macro to check whether StopRequested has been set to TRUE prior to processing the record. If StopRequested = TRUE, I want to drop out of the macro.
Code:
Public Sub RebuildDSWCatalog()
StopRequested = FALSE
For DSWRecord = DSWStart To DSWCount
If StopRequested = True Then
[Code] ....
Problem is that once the RebuildDSWCatalog macro starts running, the STOP command button never seems to get the focus back. All other input is inhibited until the macro ends.
It just ignores that I'm hitting that STOP button. In fact, the button doesn't visibly respond at all until RebuildDSWCatalog finishes processing all 35,000 records.
View 4 Replies
ADVERTISEMENT
Jul 3, 2014
I have macros that often pause for the user to take some action -- for instance, to confirm that the correct cells are selected, or to delete something. Usually I use the "Stop" command, which opens the VBA editor; when I finish doing the manual action, I just resume the macro.
When writing macros for actual users, I'd like to do the same thing without their having to deal with the VBA window. Is there a way to pause and resume action and remain in the Excel window?
View 3 Replies
View Related
May 14, 2007
I currently have a userform that runs a bunch of code for me. There are a lot of listboxes on the userform that have rowsources of various dynamic named ranges. I'm running into a problem when I have the used click the "Remove Item" button from the userform. Normally it is supposed to go back to the sourcerow and remove all of the cells that contain values that are selected in the listbox.
The code for removing the cells works just fine, however when it deletes a cell, for some reason the code executes a private sub that is in a different sheet. I can't figure out why and it's messing up my macro.
Here's the
FROM USERFORM:
Private Sub cmdAIRemove_Click()
For i = 0 To lbAISummary.ListCount - 1
If lbAISummary.Selected(i) = True Then
For Each cItem In Worksheets("Lists").Range("YourAI")
If lbAISummary.List(i) = cItem.Value Then
cItem.Delete (xlUp) '<- right after this line it jumps to NWSMonth_Change
i = i - 1
End If
Next cItem
End If
Next i
End sub...
View 5 Replies
View Related
Aug 4, 2014
I have a macro that calls 3 other procedures during its run. I have the positon set in the UpdateIndicator sub
With ProgressIndicator
.Top = Application.Top + 300
.Left = Application.Left + 400
end with
and the Userform StartUpPosition property set to 0 - Manual (though I did experiment with the other settings as well.
The issue is that when the series of subs are running, the Indicator jumps and shifts (by 10 or so pixels down and right) and sometimes blinks off completely as each new sub is being called and subsequently returns to the initial macro.
It is accurate and does what it's supposed to do, I just find it annoying and that it probably looks a bit unprofessional (and unstable) to the eyes of some coworkers who use the macro as well.
View 2 Replies
View Related
Jun 1, 2007
I have this codes which will only trigger if I manually execute it. What do I need to do to trigger it automatically whenever the worksheet change.
Below is the codes:
Sub Risk_Color()
Dim c As Range, myFontCol As Integer, myCol As Integer
For Each c In ActiveSheet.Range("f7:g20000")
myFontCol = xlAutomatic
myCol = xlNone
Select Case c.Value
Case Is = 1, 2, 3
myCol = 34
Case Is = 4, 5, 10, 20: myCol = 43
Case Is = 30, 40, 50: myCol = 6
Case Is = 70, 100, 140, 150
myCol = 5
myFontCol = 2
View 9 Replies
View Related
Mar 7, 2013
I am trying to fix a problem that I am having with Bloomberg add-in for Excel. Each day I populate 31 days of historical price data for 500+ stocks.
$A$K3 = "ACE US EQUITY"
$AL$3 = "=BDH(AK3,"PX_LAST",$D$1,$C$1,"DTS=h","dir=h")"
$C$1 = "=WORKDAY(TODAY(),0)"
$D$1 = "=BAddPeriods(C1,"NumberOfPeriods=-31","Per=wd","CDR=#A")"
What is supposed to happen is that in $AL$3:$BQ$3 there will be prices for 31 days.
I leave the workbook open as the Bloomberg DDE session remains open for 3 days even if the Bloomberg executable is not running.
Sometimes there is no problem and when I come into work the following day, the data is shifted forward by one day. Other times, much of the data is missing and I am forced to select and refresh each $AL$_ field. The problem with this is that for some reason the refresh is happening synchronously and I think this is causing havoc on the DDE connection and/or Excel. Resulting in slow/no updates. Also, if I refresh the worksheet some formulas will be overwritten with static data!
What I would like to do is create a macro that will:
1) clear all data in $AL$_:$BQ_$ & $BS$_:$CX_$
2) set the value of $AL$_ = "=BDH(AK$_,"PX_LAST",$D$1,$C$1,"DTS=h","dir=h")"
3) wait until the data is populated into $AL$_:$BQ$_ before going to $AL$(+1):$BQ$(+1); if $AM$_ has a value then most likely the data has populated in that row.
4) then when $AL$_:$BQ$_ is finished, do the same for $BS$_:$CX$_
I have been waiting for Bloomberg support to fulfill this request for over one month now with no results.
I have a very minute amount of code below:
PHP Code:
Sub PopulateData() PopulateData Macro Range("AL2:BQ2").Select
Selection.ClearContentsRange("AL2").SelectActiveCell.FormulaR1C1 = _ "=BDH(RC[-1],
""PX_LAST"",R1C4,R1C3,""DTS=h"",""dir=h"")"Range("AL2").SelectEnd Sub
View 9 Replies
View Related
Mar 12, 2009
I have a problem with the following code
Dim strProcLine As String
With ActiveWorkbook.VBProject.VBComponents(ActiveChart.CodeName).CodeModule
' MsgBox ok
' adaugat procedura goala
.CreateEventProc "Calculate", "Chart"
'MsgBox ok
strProcLine = "Format_Chart"
' MsgBox ok
.InsertLines .ProcBodyLine("Chart_Calculate", 0) + 1, strProcLine
' MsgBox ok
End With
' MsgBox ok
This is part of a larger macro, wich makes 2 pivottables and for each PT a chart, and for each chart i create an even procedure (Chart_Activate) wich calls a procedure to format the chart. Tha macro is alocated to the click even on a button in the sheet where i get the information from.
If i run the macro(click the button) with Microsoft Visual Basic Editor opened all goes ok. But if i close Microsoft Visual Basic Editor and then run the macro it stops right before .CreateEventProc "Calculate", "Chart" of the first chart , and i can't understand why. No error mesages delivered, nothing.
View 9 Replies
View Related
Jul 11, 2006
I have written a macro .When i execute the macro the result is displayed but my excel file hangs after that.
View 3 Replies
View Related
Dec 13, 2006
my excel sheet runs through a lot of calculations, opens Flowmaster, a simulations program, passes on data, receivs data and so on. Is there any way to have a user input to stop the whole simulation. During the first tries I had a lot of break point in my debugger. But now I want to have a button to hit or better just some keys to hit to stop it without using the ctrl+alt+del which closes everything.
View 4 Replies
View Related
Dec 19, 2008
I have to make eighty to ninety entries daily in Column B. Then transfer these entries to another column N,(by copy/paste) after that a maco "text to column" is executed. Now I have linked Column B to N like =B2, =B3, etc. etc. thus instead of copy/paste, the data when entered in Column B, is automatically going to Column N. I wish that the macro (text to entry) may be executed by each entry made in Column B. Is it possible with a macro?
View 7 Replies
View Related
Dec 18, 2012
I have a macro where I am assigning a variable and the value of the variable is a path where the data is stored. i am trying to assign a shortcut key for macro, i tried to run the macro by going to the vba mode and then click on the F5 function key and the macro run absolutely fine. but when i use the shortcut key the file just opens and just exits the macro.
Code:
Option ExplicitDim a, b, c As Long
Dim myFolder As String
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sql As Variant
Sub Macro1()
Application.DisplayAlerts = False
[Code] ....
View 4 Replies
View Related
Jan 18, 2007
What code do I use so that if an error is encountered during the execution of a macro, the macro ends, rather than an error message popping up?
View 9 Replies
View Related
Jun 9, 2009
Now..when I run any of my macros, I get the following message.. "Code Execution has been interrupted".
I'm not sure why I'm getting this message but it happens everytime I run ANY macro. Note that if I hit "Continue" every time it gives me the option, I am able to successfully run the macro, but obviously, I shouldn't have to do this.
View 5 Replies
View Related
Jul 15, 2009
I just finished a great macro and right at the end of deleting a sheet, I got a message box saying
"Data may exist in the sheet(s) selected for deletion. To permanently delete the data, press Delete"
How can I eliminate this from popping up in the middle of code?
View 2 Replies
View Related
Jul 25, 2013
I have a procedure that allows me to view and make changes to data in a table. I list the current values for the item in one column and use simple formula to copy that value to another column where if there are changes that need to be made, the formula is simply overwritten. The Macro is then selected using a command button and the formulas are all overwritten using copy/paste values to keep from writing out the formula to the data table. These values are then all written back to the data table, current values are overwritten with whatever is in the update column, new data or old data.
I have one cell out of 48 that has decided to march to the tune of a different drummer. The format changes from General to Text and the formula written from the macro is what shows up in the cell instead of the value of the formula. Never a big disciplinarian, I have to wonder if I have been too lenient on the cell and this defiance is the price I have to pay.
The sheet is protected only allowing entry into the cells available for update.
Here is the bit of code that affects this cell (starting from a format of General:
Code:
Sheets("Product Data").Cells(ItemRow, 3).Value = Sheets("Update").Cells(6, 8)
Sheets("Update").Cells(6, 8).FormulaR1C1 = "=(RC[-6])"
I just don't see anything that would change the format, and these are the only two lines that even reference cells(6,8).
I tried to set the format for the cell from within the Macro, but with the sheet being protected, it just dumps me out to my error message.
View 1 Replies
View Related
Sep 7, 2006
I am looking for a way to measure how long it takes to complete a sub routine in VBA. I have code which posts data to matlab and then calls it back. What I need to know is how long does it take to complete each subroutine.
create a code which will measure this? I need to measure the time taken in 100ths of a second.
Is there any simple code to complete this? I am pasting a sample of my code which is using Matlab as a COM server.
Dim Matlab As Object
Dim MReal(10, 0) As Double
Dim i As Integer
Dim j As Integer
Dim MImag() As Double
Dim value As Double
Dim RealValue As Double
I am sure I woould need to declare the timer but I do not know where and I am not sure of the syntax.
View 9 Replies
View Related
Jun 7, 2007
is it possible to show progress indicator if macro execution take some considerable time say more than 10 seconds?
View 2 Replies
View Related
Jun 18, 2006
I've got the following code as part of a userform
Private Sub cmbPlant_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If cmbPlant.MatchFound = False Then
cmbPlant.BackColor = &HC0&
If MsgBox("Required!" & vbNewLine & "Please Select Correct Plant Number", vbOKOnly + vbExclamation, "Plant Number") = vbCancel Then Exit Sub
Cancel = True
Else
cmbPlant.BackColor = &H80000005
End If
End Sub
I also have a cancel button
Private Sub cmdCancel_Click()
If MsgBox(" Cancelling Will Clear This Form." & vbNewLine & " No Data Will Be Entered." & vbNewLine & "Are You Sure You Wish To Cancel?", vbYesNo + vbQuestion, "Cancel Data Entry") = vbNo Then Exit Sub
Unload Me
End Sub
If someone clicks the cancel button before using the plant # combo, the form closes, but the cmbplant_exit msgbox pops up too.
View 4 Replies
View Related
Jul 23, 2014
I'm pretty new to VBA and am working on trying to make a userform and I seemed to have gotten stuck.
I have userform with 6 textbox fields and 2 radio buttons. I need all the fields to including the radio buttons to be required. I currently have this set up.
Private Sub OptionSubmit_Click()
Dim nextrow As String
'find the next empty row
nextrow = Application.WorksheetFunction.CountA(Range("A:A")) + 1
Cells(nextrow, 1) = CsrName.Text
[Code] ........
The required fields still fill in data in the spreadsheet. I need it to check those fields and not allow the data to be entered into the spreadsheet.
View 1 Replies
View Related
Mar 7, 2007
i need to make a button that Immidiately stops all macro's, Or (and This will maby be little more difficult) Stop all macros on a specific time inserted in 1 cell
the macro's that i want to stop running, are all single macro's which i activate with only 1 button i created.
i like something like this:
if "A1"(this is the cell where i have my updated clock) == A2 (the time i insert here stops the macro's at this time) do stop Macro's
View 9 Replies
View Related
Mar 26, 2009
If you run it now, ctrl t, it produces letters and changes alphabets as it hits a yellow box. If i change or add a yellow box, the letters change fine. The macro works perfectly, but instead of inputting the range or K3 to what ever, i would like to to run this macro and stop once it sees the row with the sort number of 4. ( this changes row postion depending on which sheet im working on, this is the problem).
View 4 Replies
View Related
Apr 27, 2014
I tried the belwo code to stop Macro if column "A" has the value "#NA" but i am getting error.
{if the Value "#NA" not in the column "A" then macro can continue to run}
[Code] ......
How to rectify the error.
View 10 Replies
View Related
Aug 10, 2009
I have a spreadsheet containing a macro to automatically sum values from week to week and display the max/min and average. This is almost fully working. The problem I have is the macro copies the sum formula down the page and doesn't stop at the last row. It always adds one or two extra rows. The formula should stop at row 77 however this does not happen and therefore the sum keeps going. Which in turn, distorts the max/min figures.
View 2 Replies
View Related
Mar 13, 2012
I'm trying to create a macro to input information into a cell then repeat until the information stops.
So say I have 10 rows of information that fill up A1:D10. in E1:E10 I'd like a macro to insert some data into E1 then go to E2 and do the same until the end and then stop. So since A11:D11 would be blank the formula would just stop.
I actually work on 100's of cells a day and this is for a bigger project I'm trying to put together or I would just drag.
View 7 Replies
View Related
Jun 17, 2014
I need a code that will stop a Macro if any cell in column 3 equals #N/A All i have right now is:
If Selection.Columns(3).Columns = "#N/A*" Then
MsgBox "Incorrect Value"
Exit Sub
View 8 Replies
View Related
Jan 6, 2009
I have got he below code in "thisworkbook" it works fine but I have a problem with it if it has been closed before the time expires. If it is closed it tries to reopen it and then close it again. So for my users who have got their security set to prompts the file will be closed and a message box appears saying "enable or disable Macros". If it is already closed than i dont really want this to happen. My security is set to low but i still see it flash up and the bottom then dissappear again. How can i get the Macro to stop if it has already beed closed??
Private Sub Workbook_Open()
Sheets("database").Select
Range("au16").Select
Application.OnTime Now + TimeValue("00:15:00"), "TimeOut"
If ThisWorkbook.ReadOnly Then
MsgBox ("The file is currently being used by another user, please contact them to ensure they have not left the file open.")
ActiveWorkbook.Close SaveChanges:=False
End If
End Sub
Sub TimeOut()
ThisWorkbook.Close SaveChanges:=True
End Sub
View 9 Replies
View Related
Jun 24, 2006
I am running a macro that populates the same chart with variable data. I have approximately 40 sets of data and wish to pause or stop the macro to view one of the sets of data more closely. The pause option would be better but Stop option is acceptable
View 2 Replies
View Related
Jun 15, 2009
This is weird - if you delete a sheet that contained a control then
a. showing a modeless userform resluts in a userofrm that goes invisible at subroutine End
b. public variables lose their value
These things do not happen if the sheet did not contain a control. Attached is an example file - put the inputfile.xls in your default file location (or add a path in the code) then open the ProblemDemo.xls and run the main macro to see it fal - isthis another Excelbug I've found?
View 9 Replies
View Related
Jan 18, 2013
I am trying to use a macro to check if any cells in a range of cells are less than 0 before proceeding.
VB:
Sub Macro()
If Range("F2:F49") < 0 Then
MsgBox "Please verify column F."
Exit Sub
[Code] ....
View 2 Replies
View Related
Aug 11, 2013
I did not want to bother you again but I have a problem that I can not solve it because my knowledge in vba etc, are limited and could not become to find with Macro Recorder.Usually I solve the problems on my own by searching on Google and experimenting with ready Macros and Macro Recorder.
I have an excel file with a macro and I want before this macro launched, to run another macro that can check if the headers have the correct name and in its correct position. The headers is in first Row.
If are not in the correct position or if it doesn't exist or if not have the correct name, then the process of the next macro be stopped and of course be informed that there is a problem.But if Is everything okay, then proceed to the next macro and be informed that Is everything okay.
I have attached a Sample file with the headers i'm using.
Sample...xlsm
[Code].....
View 5 Replies
View Related