In the worksheet_change event I am calling a method for performing some calculations. The method is called only if certain cells are affected. I want to know the cell values before the event gets triggered.
For eg: Lets say Cell A1: 10 Cell A2: 20 I select both A1 & A2 and click on delete. Then I want to obtain the values 10 & 20 in the method called. Is this possible? Currently If I do Cell.value it returns blank.
I have a Userform with a textbox1 and a commandbutton. TextBox1 triggers a code on the exit event. CommandButton1 simply unloads the UserForm. If a user enters data in the textbox, but does not exit and instead clicks the commandbutton to unload the UserForm, the exit event code is still triggered and then for some reason the commandbutton no longer responds to being clicked. I can't seem to find a way around this.
If the commandbutton is clicked, I simply want the UserForm to be unloaded and the exit event for the textbox ignored
I run a web query from [url] to import the latest currency rates into Excel. I refresh the data every minute. Every time Cell B19 changes I want to run the following
If Cells(19, 2).Value > 1.27 Then MsgBox "buy" End If
I tried putting that code in the Worksheet_Change event but it only works if the user physically changes the cell, not if it's changed by a web query. So how can I run code that triggers when a cell is changed by a web query?
I have a Change Event macro that works properly. I also have several cells that contain a drop down list. If a user tries to enter an incorrect entry...the debug is triggered on my even change macro.
Here's the piece of the Change macro that has issues. Specifically, the .undo line highlights.
With Application .ScreenUpdating = False .EnableEvents = False
I have created a Data Validation list in one of my spreadsheets which works fine. The list itself has no duplicates which is fine but when I select my entries in the other spreadsheet, I want to make sure they cannot select the same value twice.
I tried selecting "List" in data validation and using an AND with COUNTIF but it doesn't work.
I have a macro that I would like to run everytime ANY cell is changed in a given worksheet. I've read some posts that explain how to do this when say ONE cell is changed, but I cannot figure out how to expand on that.
I need to know the formula and/or codes to create a trigger on my excel worksheets to send email when an item needs follow-up. The workbook was created on 97-2003 but the outlook program I believe is a later version.
How I can create the email triggers. I am enclosing a copy sample of the spreadsheet I need the Macros attached to (I will need to know how to create/run macros with my spreadsheet. What I need is an email triggered to the sales rep based on the follow-up date. The email should include the quote number and customer name.
Trying to create a dropdown list to navigate to another worksheet . I tried iterations of the following code but am getting an 'object required' error.
If I can't assign the result to a string, how can I change the worksheet from the result of the dropdown list?
Sub DropDown7_Change() Dim temp As String temp = ActiveDocument.FormFields(“DropDown7”).Result Sheets(temp).Select End Sub
I have a workbook with several worksheets. One sheet ('Forecast') contains 12 ComboBoxes, which, on a Change event, run a series of macros to show the users certain information and provide certain options: protected 'Budget' or 'Actual' data from a hidden datasheet, or unprotected 'Forecast' cells that respond to user changes. In other words, I can't simply use a series of 'If' statements or VLookups with conditional formatting to get around the ComboBoxes.
OK - So in ordinary use, the ComboBoxes and macros are working as intended. But there is one situation that causes problems:
When a SaveAs command is used to save the model under a different name, all 12 ComboBox Change Events are somehow being triggered.
So what is it about a SaveAs command that triggers ComboBox Change events?! And whatever it is, can I turn it off?
(This happens in Excel versions 2000, 2003 and 2007.)
Workbook_1 has a UDF that uses a Range() without any sheet name ( Range("myRange") instead of Sheets(1).Range("myRange") ). Workbook_2 has a macro that deletes a sheet. When the delete statement executes, the cells in Workbook_1 try to recalculate and the UDF returns an error. If I use 'workbooks("Workbook_1").Sheets(1).Range("myRange")' in the UDF then it works properly when WorkBook_2 deletes the sheet. ('Sheets(1).Range("myRange")' still produces an error).
I found this great macro here but I need it target more than column 1. does anyone knoe how to target column 1 and 3 at the same time?
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then If IsEmpty(Target) Then Target.Offset(0, 1).Value = Empty Else Target.Offset(0, 1).Value = Now() End If
I want to create an event handler for multiple buttons. I know that it can be done in VB but I'm not sure about VBA. Auto Merged Post;bump* Auto Merged Post;bump*
the following workbook open event which repeats a macro called "Refresh" every 30 minutes. However, there is another macro "tame_blph" that i wanna call at 12 midnight everyday.
Private Sub Workbook_Open()
Call tame_blph
NextTick = Now + TimeValue("00:30:00")
Application .OnTime NextTick, "Refresh", , True
End Sub
Is it even possible to have multiple Workbook open events and/or multiple NextTick or something?
I have an Excel 2003 spreadsheet used to calculate doses of medication. The value of several cells will depend on what optionbuttons the user selects.
I have entered the first two lines of code below w/o a problem to make certain calculations that are displayed in the specified cells.
I then tried to make an additional calculation to display in cell 6,9, but it always triggers a "Application-defined or object-defined error". For troubleshooting purposes, I moved that line of code directly under the other two lines of similar code that I know work, and simplified the problem line to just arbitrarily set the value of the cell to a value of 2 (instead of the actual formula); it still triggers the error.
When I duplicated a worksheet in Excel 2007, I received a warning that "A formula or sheet you want to move or copy contains the name ___" (an existing Name) and was given options. The Name in question should not have been relevant because I never intentionally linked it to the worksheet that was being duplicated, but apparently something happened at some point to create such a link.
I opened Name Manager and deleted the Name in question, and this invoked a warning. "Privacy warning: This document contains macros, ActiveX controls, XML expansion pack information, or Web components. These may include personal information that cannot be removed by the Document Inspector." I had no macros. Each time I attempted to save the document, I got this error/warning, even after disabling Macro Security completely.
It was still saving, fortunately, so I closed Excel and relaunched, and the issue seemed to vanish.
Should I be worried about the integrity of my document? Everything seems fine now, but I'm a little concerned.
Below is code. However, I need this to happen for multiple cells.
The cells that I need to monitor are B10, B12, B14.... through B96 and F, J, N, R columns for the same rows. The input values will be stored in cells AM10, AM12, AM14 .... through 96 for the B column results. Then for F, J, N, R will be AQ, AU, AY and BC respectively.
Additionally, when B10 has an input, and the user input box displays for the number of hours, there is a cancel button available, but it does not work. How can I exit the loop and clear contents of B10 if the "Cancel" button is clicked in the dialogue box.
The use of this userform is to find a customer reference number. Im using two combobox's and a textbox.value that are populated from another workbook.
Though the way it is at the moment it opens the workbook and closes the workbook every time a new value is set to one of the combobox's.
I want to open the workbook on the useform initialize and do everthink the useform need from it. And then on the userform terminate close the workbook. Or somehink to this equlivent so this process of finding the customer referance number goes faster.
I have a userform with about 20 textboxes. I would like to use the same "data validation" procedure on each textbox as the user enters data into the form. I'll use the exit event to trigger the validation. As the user moves from one textbox to the next, the data will be validated; if it's out of range, the user will be prompted to correct it.
Is there a way to have a common event procedure so I don't have to have a separate procedure for each textbox individually? I know I can put the actual validation code in its own procedure and then call it from each event procedure but that would still leave me with 20 event procedures like:
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) ValidateData End Sub
I wrote some code to validate an inputfield. I want to keep the focus on this field until a correct (numeric) value is inputed. Therefore I use teh beforeUpdate event instead of the afterUpdate event. Some strange things happen (see code below):
1. When I press enter after putting some non-numeric data in the inpBedrag2 field the msgbox is displayed three times in a row. This doesn't happen when the field loses focus by clicking another field (-> msgbox only displays once = correct behaviour) 2. What's really driving me nuts is the fact that the (more or lesse the same sub) works perfectly.
What am I doing wrong? I'm not getting it. Probably I'm doing something very stupid ... but I can't figure it out myself.
I have a workbook with 33 worksheets (31 date tabs and a Month To Date and Year To Date tab)
I want to have a clickable cell on each of the 1-31 date tabs to point to the MTD
I know I could do this easily with a hyperlink but I would rather have a clickable cell.
I have achieved this on an individual worksheet using the following code
Code: Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) If Not Intersect(Target, Range("$R$3")) Is Nothing Then Sheets("MTD").Select End Sub
My question is: Do I have to copy this to every single worksheets code or is there some way have all sheets read the same private sub? (I guess it negates the point of a "private sub")
Way to do this as it would make editing any changes easier than having to do it 31 times.
I'm trying to run a macro anytime cells G2, J2, M2, O2, P2, S2, V2, Y2, AB2, AE2, AH2, AK2, AN2, AQ2 change.
Right now I have the below code which is working well, but I only have it set for G2. Do you know what the notation is to make the target range multiple cells?
Also, I use the xlDown command in my sorting code, but later on it reverts back to "A5:AT60"... is there any way I can remove these specific cell references? I want to avoid having to re-write the macro every time my selection shrinks or expands.
Code: Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("G2")) Is Nothing Then Rows("5:5").Select
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?
I have a calendar userform set as Userform1 and I would like it to pop up upon double clicking in two different ranges 'date' which is on sheet 1 and 'dates' which is on sheet 4.
So far I have this code in Thisworkbook, which works perfectly for Sheet 1, but I get the following error on Sheet 4: Run time error '1004': Methed 'intersect of object'_global' failed.
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) If Intersect(Target, Sheet1.Range("date")) Is Nothing Then Exit Sub UserForm1.Show Exit Sub If Intersect(taregt, Sheet4.Range("date2")) Is Nothing Then Exit Sub UserForm1.Show .............................
Is there a way to write a Worksheet_SelectionChange (ByVal Target As Range) event in module after creating a sheet in VBA? I constantly delete a sheet, then repopulate it with a new one that is empty, but I need to add some code that happens if they should change a particular cell. It worked when I ran it on a worksheet without refreshing, but as soon as I cleared and repopulated the sheet, it was gone. Is there a way to preserve this?
I am currently doing an excel database of students application. I want a macro that creates a duplicate of a template sheet and renaming it based on the name of the student. Meaning once a name appears in the name cell, a sheet of that particular name is automatically created. At the same time, i want all the data regarding the applying student to appear the newly created sheet as shown in the attached file.