I am trying to write a worksheet_selectionchange macro in which the change is initiated only when certain cells are changed (B6:B9 and X9). I do not want the change to be initiated when any other cells on the worksheet change. B6:B9 and X9 are drop down boxes and the values within the drop-down boxes is variable.
When you double click on a number in a pivot table data area you get a new sheet with that information showing the detail, is there anyway to "trap" this action?
I want to run a macro on the detail data but can't see a way to do it automatically, have tried, BeforeDoubleClick, PivotTableUpdate, NewSheet events but all have there draw backs if you are doing something other than showing the detail for the pivot table. Of course I can just run the macro after the sheet is made but it would be nice to do it on its own.
I have an Access application with a form containing an Excel chart based on a pivot table based on an Access query based on an Access table which is refreshed every 5 minutes using a Timer event. When the table is refreshed the Excel chart is refreshed. The chart monitors some processes and is active throughout the day. As the day progresses more and more data points are available for plotting on the x-axis. The x-axis labels get very crowded as the day progresses and I need to programmatically change the x-axis scale at various times of the day. To that end I am trying to find an event that is activated at some point during the automatic refresh of the chart/pivot table.
I have tried the Workbook_Change event, the Worksheet_Change event, and the Chart_SeriesChange event. None of these are executed during the refresh process or I have done something wrong in trying to use them. At the moment they only have a MSGBOX message in them so that I can determine if they are even being executed.
I have a chart with 2 Y axis. I am attempting to write some code that will update both axis with the same max & min value that is triggered by the combobox selection. The code will update the axis but is not triggered by the combobox selection.
I have a user entering text into a textbox on my userform. The textbox is linked to a textbox change event. Unfortunately, the event is triggered as soon as the user enters the first character of their entry. I'm thinking that the textbox change event isn't the most appropriate for this scenario. What would I need to do to trigger the code (of the change event) with hitting ENTER when finished?
If no program (code) is running and Calculation is turned to ON, what expression could be placed into a cell that will change on its own that could necessarily and periodically trigger a change event subroutine. How can I trigger a change event when nothing is changing?
I have a situation where my code simply stops running so i need a change event to assess whether code is running (or not) and to issue a warning to the programmer that the code is, in fact, stalled. The change event subroutine has not only a warning system but a "timetorun" feature that will come back and warn again until the programmer can address the issue.
Unfortunately, I have to deal with this issue in a check and balance fashion because my many attempts to seek solutions to a stalled program (root cause) have failed.
I am working with a large legacy file/program which has a lot of issues. Foremost, and unfortunately this cannot be changed, is that all of the controls were placed directly on the worksheets instead of on Userforms.
I had previously posted code from the legacy file which may have been excessively complicated. So I edited my post to this simple example. Sheet1 has one textbox and one command button. Sheet 2 is blank.
If Sheet2.Activate is commented, everything works fine. If Sheet2.Activate is executed, then Excel crashes....
On my userform I have a frame. Within the frame, there are 6 option buttons. Can I trigger an event when when the user selects a different option button? I was expecting to see a Frame.Change method. But I don't. One solution is to insert code on each of the Option Buttons Change methods.
Is it possible to write an event trigger macro to format cells? Let's say I want to add a new information to the row which is after FinalRow. Can I force excel to detect the input and then format that new row as previous rows or something custom?
I am working with a large legacy file/program which has a lot of issues. Foremost, and unfortunately this cannot be changed, is that all of the controls were placed directly on the worksheets instead of on Userforms. The actual code from the legacy file is excessively complicated, so I created this simple example. Sheet1 has one textbox and one command button. Sheet 2 is blank. I want to be able to click the command button or use the Enter key on the command button, to trigger the Click Event. Clicking works fine. When using Enter, if Sheet2.Activate is commented, everything works fine. If Sheet2.Activate is executed, then Excel crashes.
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim bBackwards As Boolean Select Case KeyCode 'Only look for tab, return, down arrow, up arrow Case vbKeyTab, vbKeyReturn, vbKeyDown, vbKeyUp Application. ScreenUpdating = False 'Do we need to go back to previous control bBackwards = CBool(Shift And 1) Or (KeyCode = vbKeyUp) If bBackwards Then TextBox1.Activate Else CommandButton1.Activate Application.ScreenUpdating = True End Select End Sub Private Sub CommandButton1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim bBackwards, bForwards As Boolean Select Case KeyCode Case vbKeyTab, vbKeyReturn, vbKeyDown, vbKeyUp Application.ScreenUpdating = False...................
i have a pivot table that shows the customer names. when i select the customer drop down box i can all the customer i want to see. but in the table itself there are some customer not showing. this is the first time this has happened
A1 is a drop-down list, created from Data> Validation>List, which lists 3 different words (Text1, Text2, Text3). I have recorded 3 macros (Macro1, Macro2, Macro3). Here's what I want to happen:
When Text1 is selected in A1, I want Macro1 to run (same for Text2/Macro2 and Text3/Macro3). I want the user to be able to change this value as many times as they wish and have the corresponding Macro run each time. I've tried creating the appropriate code in Editor using other threads on this forum, but I can't seem to figure it out.
I am trying to create a trigger event that opens an email when a particular row is altered. This all worked fine, until I tried to take it a step further and insert information from the spreadhseet into the email aswell.
I receive Argument not optional.
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 10 Then Call GenerateEmail(Target.Address) End If End Sub
I have a project report, which is user-configurable, allowing the user to customise the data that is displayed based on a number of parameters.
To ensure the report always prints neatly (the number of visible columns and rows varies, depending on the above parameters), so I have a macro that dynamically sets the print area of the worksheet.
At present, I call the macro from the workbook.beforeprint event, which works fine in terms of printing. Ideally however, I would like the macro to be called when CTRL+P is first pressed - i.e. the resulting 'print screen', containing a preview of the print out should reflect what will subsequently be printed, when the 'Print' button is then pressed.
I am not sure if this makes sense (Excel 2010 and 2013 are different from previous versions).
So, I have a worksheet with a bunch of combo boxes. The code for the worksheet is below. The issue I'm having is that anytime I drag and drop a cell anywhere on the page, every single control on the worksheet triggers. VB runs through all the code on the sheet, TWICE(I used the debugger extensively trying to find a solution), and causes dozens of successive re-calculations of the entire workbook, which has a couple of tables. This happens on any cell drag-drop on the worksheet, or when I click the command button on the screen.
I have no clue what is causing this. Even more bizarre, it seems to trigger a custom function which is located in a separate module, and isn't even utilized on the worksheet in question. I guess this is because it makes the whole workbook re-calculate?
I am somewhat of a novice with Pivot Tables. One problem I am having that no one seems able to help me out with is that when I update and refresh my pivot table, it seems like it has a muscle memory with the drop down choice boxes.
For example: Lets say I have three customers that I have labeled 01 Target, 02 Walmart and 03 Bed Bath and Beyond. If I want to change 01 Target to 02 Target and 02 Walmart to 01 Walmart, it works in the pivot table and shows the proper data but if I try to choose the customer from a drop down box, it remembers the customers as labeled as they were before I made the changes AND the current look.
I will see: 01 Target, 02 Target, 01 Walmart and 02 Walmart in the drop down box but the data will only show up in the pivot table associated with the proper customers as they are labeled in the data source.
I'm building a Excel 2003 workbook that needs more than 3 conditional formats. I've tried the code given in the FAQ: Get Around Excels 3 Criteria Limit in Conditional Formatting but this only works on cells being modified directly. I've also tried the code in the post: VBA Conditional Formatting - Refresh when data changes but neither does the job I need.
I'm using a Format Control to present the user with a list of choices. When the control changes the target cell I want to apply a conditional format to that cell. This image shows the form. When the Format Control selection (in B2) is changed I want to apply conditional formating to the target cell (A2).
There will be up to 10 choices and therefore conditions.
I have the code below that is two separate activities and I want to change the second activity from a cell trigger (Set KeyCells = Range("K42:AD42")) to a button trigger. I need to first to remain unchanged.
I'd be ok if this was just one macro that I could assign to a button but because its two and I need to write the second's to clicking a button I'm over my head.
Its occured to me while writing this that because it'll be a range of buttons I'll probably need to make each one an individual code? Is this the case? If so I may have to just keep this as it is.
- a list of data - a pivottable based on these data
When moving this worksheet this worksheet to another workbook, the pivot table can't refresh anymore. This throws an error message "Reference is not valid". To work around this problem I need to adapt the datasource. The same occurs if the list and the pivot table are on separate sheet, with the added strange behaviour that, when data an PT are split, it is not possible to move both sheet together.
This would not be a big issue if my problem had to be solved manually. The real problem is that I need to move the sheets from a C# program.
I have 13 sheets in my workbook (one for each month plus a GlobalSettings). In each month sheet I want to create a change event that prompts a UserForm when they select "Yes" from a drop-down validation list if it happens to be a month prior to the current month.
I'm trying to write a macro that will create a pivot table, and am getting an Error code 1004: Cannot Open Pivot Table Source File "Sheetname". My code is below. I've tried to note what each section does, and it all seems to work well except for the Pivot Table creation.
I have a worksheet with two pivot tables, one of which is visible to the user. Ideally, the user should be able to change the "Row Label" field settings of the visible pivot table and then press an "update button" that then adds the same field to the second pivot table.
Ideally, the ordering of the fields should also be made similar between the two tables, though this is of less priority.
I imagine it would be something in the style of:
"If number of Pivot1 active row label fields = X then Pivot 2.AddRowLabelField = Pivot1.RowLabelField(X) end if"
attached is a spreadsheet 6 people in my area use daily(ive copied and pasted the sheet in question to a new worksheet, as the file was too big). Ive been trying for about 3 days now to make a pivot table to summarise this data.
I have data that develops 3 to 4 pivot table each day. I would like to know if there is a way to change the date on one of the pivot table and have the other pivot tables date change to match with the first pivot table. At this time I am going to all 3 or 4 pivot table to select the correct date. The date is in the page position of the pivot table. I have attached a small sample of the data and the pivot tables.