I have a worksheet containing a cell (say A1) that has a validated list of times (data/validation/list) where the cells in the list contain times in 8 minute increments. The user can select cell A1 and manually select any of the validated times from the list. A vlookup formula on this worksheet uses the content of cell A1 to look for this time in another section of the worksheet. When the time is selected manually, the vlookup formula works properly.
As part of a macro, the macro will change the time in cell A1. I do this in the macro by selecting and copying the desired time from the validation list and pasting it into A1. Cell A1 does change to the new value, however the vlookup formula that uses A1 shows a result of #N/A. If I manually change the time, it again works. I am looking for a way to have the macro change this cell to another time and for the vlookup formula to work as it should.
I have a macro that I am running "onentry" of a worksheet. The problem is that I have some cells that are validated to allow a list. If I manually type a word from the list in the validated cell the macro runs. However, if I make a selection from the list the macro does not run. I guess vba does not see my selection as an entry.
Colouring calendar entries based on a date match... VBA to colour a cell on each line based on date match
The code works fine if you change the date in the cell and press enter however my date changes are triggered via a Vlookup which the code doesn't recognise has changed so doesn't trigger the macro.
Is there any way to amend the VBA code shown below so that it triggers the macro when dates are changed in column I via Vlookup?
Code: Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("I:I")) Is Nothing Then Exit Sub Application.ScreenUpdating = False Target.EntireRow.Interior.ColorIndex = xlNone
I would like to create a macro that will automatically change the name of the sheet any time a value is entered into cell a1. For example, in cell A1 of sheet1 I would input "Hello", and then the tab for sheet1 would be automatically renamed to "Hello".
Here's the twist - the workbook will have multiple sheets, and I want all tabs to reflect the value of a specific cell (a1) in each sheet.
For example:
value in sheet1, cell a1 = "Yes" - corresponding tab name would change to "Yes" value in sheet2, cell a1 = "No" - corresponding tab name would change to "No" value in sheet3, cell a1 = "Maybe" - corresponding tab name would change to "Maybe" etc...
The "tab change" cell would always be cell a1 in each sheet.
- A database sheet called 'QAEQUIP' which contains information on the movements of pieces of equipment. This information in in order of Column A which is a movements reference number.
- A reporting sheet called 'Email sheet', which you put in a month and year and using macros it copy and pastes the relevant rows from the database and puts them in date order (e.g. put in October 2013 and it will show all of the equipment moves that happened in October 2013, and in date order).
What my end user would like, is to be able to add text to an extra column on the reporting page which gets fed into the database on the corresponding row. What would the best way to do this be? I was thinking VBA for each row (there aren't that many rows) that says if this cell is changed, copy and paste the cell into the corresponding row / column on 'QAEQUIP'.
I have found a macro that should work with a change of a specific cell.
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$7" Then Call Button End If End Sub
However, the code doesn t work as with a change of A7 nothing happens. A7 equals to result from a drop down list --> A7=A5(which is a drop down list value). The "Button" macro is a combination of 4 macros that get rid of zero values and names in pie charts (maybe this plays any role). The master macro is assigned to an object. The code is:
Row 1 Col1 Col2 Col3 Col4 Col5 Col6 Total Row 2 10 "A" 19 "A" 13 "A" 42 Row 3 1 "A" 9 "B" 10 "A" 11
I was trying to have a formula which would add all values in the total column of that row whose adjacent cell has "A" in it . I am not sure if I am clear enough in my explanation but my example above is more clear want I meant .
I tried posting the same post earlier but I guess I was able to explain the same . I was trying to put the formula which will give the total column with a value in which it all gives addition of those values who's adjacent cell as "A" in it in the row .
I'm trying to write macro for hiding columns based on a drop down answer. The drop down would be in cell B7 on Sheet 1. The colums affected would be in each worksheet in the workbook. The data validation would have a drop down selection choice of 1 through 16. The columns affected range would be H through W. For example, in the drop down if 1 was selected, only column H would show. If two, H and I would show...etc. This macro should affect all worksheets in the workbook EXCEPT sheet 1.
I have the following code pasted into the worksheet module which used to work fine but no longer does. I didn't touch the code, it just stopped working.
Private Sub WorkSheet_Change(ByVal Target As Range) Select Case Target.Address Case "$A$16" Select Case Target Case "Custom Color 1": Call CustomColorInput1 Case "Custom Color 2": Call CustomColorInput1 Case "Custom Color 3": Call CustomColorInput1 Case "Custom Color 4": Call CustomColorInput1 Case Else: End Select Case "$A$17" Select Case Target Case "Custom Color 1": Call CustomColorInput2 Case "Custom Color 2": Call CustomColorInput2 Case "Custom Color 3": Call CustomColorInput2 Case "Custom Color 4": Call CustomColorInput2 Case Else: End Select Case "$A$18"
CustomColorInput 1-6 are the same except they input data into different cells F16-F21.
When I attach any of the CustomColorInput macros to a button it works fine. When I try to call it from the worksheet module, the data input box pops up but the data doesn't get entered into the cell. When I try to step through the CustomColorInput macros using F8, the input box pops up, I enter data and press ok. Then I continue with F8 and the debugger jumps to a custom function that I entered (below), which is not called for and is in no way related to the code.
Function PullAfterLast(rCell As Range, strLast As String) PullAfterLast = Mid(rCell, InStrRev(rCell, strLast) + 1, 256) End Function
When I close VBA, the data that I typed into the data input box is in the correct cell.
So basically, I'm getting three different responses from the offending code depending on how I call it up. Can anyone tell me what's going on?
More generally, in this and previous occasions, I've had problems with macros that cease to work for no reason that is apparent to me. What are some things that would cause a macro to stop working, without actually changing the code (other than the obvious, like referring to names or worksheets etc. that don't exist anymore)?
Currently I am using a vlookup for 19,000 columns or so. Basically what I am doing is calculating the change in the P&L values from when I ran the file currently to when I ran it previously. I have a macro that pastes the old data to sheet "PL Changes" and then the new data on "PL Detail" All the Vlookup is doing is taking 2 criteria(from A and E and comparing them to a concatenated formula in column A on "PL Changes" then returning the old value in column 5. Is Vlookup the most efficient or is Match() any quicker. Right now it takes almost a minute for it to calculate cells and I was hoping to reduce that time as this data may get longer: ...
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'm inputing quite a bit of data and need to copy certain elements into another sheet in the same workbook if a certain cell is valid.
For example, what I need to do is:
Each cell in column D can either be a Yes or No.
So if I enter Yes in D3 I need it to copy cells A3 and C3 into the next available row in Sheet 2. End result is that if there are 40 cells in Sheet 1 Column D that have Yes.
Then there are 40 rows that are now populated in Sheet 2
I use Excel 2003. With a LOT of help from this board, I've written some macros for a workbook template that will be opened then saved with another name with an .xls extension. The problem is that the macros transfer data to and from another workbook template. Here's the code that's giving me problems. Windows("BookA.xlt").Activate Sheets("Sheet1").Select ActiveWorkbook.Save Range("A1").Select Application.CutCopyMode = False Selection.Copy Windows("BookB.xlt").Activate How can I use the macro if I open BookA.xlt then change the name to BookZ.xls for my data entries? At the same time BookZ is open, I may use another instance of BookA.xlt and save that one as BookY.xls. What's the most feasible way to still use the macros?
how to alter this Private Sub for my code to execute automatically once all 3 cells have changed. At the moment it executes as soon as any of the 3 cells change.
How do I have a macro execute anytime a checkbox, or radio button is clicked on a form? I have a macro that needs to run, but I don't want to put it in the code for every checkbox because it will complicate any changes or additions to the form.
I am using INDIRECT to create a second dynamic drop down list (L1) that is based on the cell contents of a first drop down list (I1). I want to create a macro that will blank the 2nd drop down list ONLY when the choice in the first list is CHANGED. I have the following, but it blanks the second list as soon as the first list is clicked on, rather than when a change is made:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Not Intersect(Range("I1"), Target) Is Nothing Then Range("L1").ClearContents
When I use customize and assign a macro (to a button) I set the "Marco In" option to "This Workbook" then select a macro from the available list. If you close the Assign Macro dialog and open it again, notice how it appends the name of the file to the macro name. Later, in an automated process the xls filename is appended with a value and I think this is causing the problem because the appended data is static and thus no longer is in sync with the new (latest) filename. How do I assign macro's to either custom toolbar's or autoshapes so that the assignment is tolerant of file name changes? I tried to delete the appended data but it is appended automatically.
I am also curious why some of the macro's listed in the dialog include a filename and macro name delimited with an exclaimation mark and some are macro name only (with no delimiter).
I used the "record macro" to record a simple sorting (high to low) of columns A-F based on values (0-3) in column A. Everything works when I initially institute the macro. However, when I change anything or add a new item at the end of the list, the order reverses and sorting goes from lowest to highest.?
Here is what ended up in the macro:
Code: Sub SortColumnA() ' SortColumnA Macro ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
[Code]....
I noticed that it only includes a fixed value for the length of the list (row 90). Is there a way to have it increase when anything new is added?
As of now I plan on just making an arbitrary large index (~200 ish) to automatically grab anything new.
In Column G I have a Drop down list of dates. In Column H I want to show the month for the dates, as per when they are selected. I tried simple doing in cell H2 "=G2" they changing the format of the cell for just the month. which worked but for the cells in H that haven't had a dates selected yet it brings back January-00 all the way down. I need a way of getting rid of the January-00 but having the cells ready so that wen the date in G is selected the month auto appears in H.
i want to create a quote worksheet with a type of material validated list, a type of stock validated list, a volume of material sum, a cost per lb of material varible and a typ of stock % markup to quote stock material. i have a pdf of what i want it to look like i just need help formulating it. thanks. Auto Merged Post;here is a link to the pdf. i am not sure what to call what i want to do... [url] Auto Merged Post;here is the xls file.
This area of my worksheet, Sheets("ACTIVITY").Range("AM2:AM172"), is currently populated by text values from a dynamic, validated list, 'DEL_2'.
Is there a simple way to effectively 'toggle' (on/off) data validation - maybe with right-click - in this area, so that the user can type what they want if their chosen option can't be found in DEL_2?
If the value of any cell in in column D is changed to "Closed", a message box will appear that says "Others must be notified when item is closed". In that message box, I want two buttons: Button 1 One is cancel and will undo the change. Button 2 will open MS Outlook with pre-filled email addresses and will attach the open worksheet. After the email is sent, to return to Excel.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B2")) Is Nothing Then Do_it End If
End Sub
Cell B2 contains an employee number. What I need to do is save some data for the employee number that was in cell B2 just before it was changed.
Example: If employee number "10" is entered in B2. Then the user were to change the employee number in cell B2 to "55" I would like to use the previous value "10" to do some VBA stuff with.
I have the following range of cells B2:Y3700. I want that when a value from 1 to 9999 is inserted in one cell of the above mentioned range, to copy the row number of that cell in the cell that is located in column Z and row is the number inserted in that cell. For example, if the number "1234" is inserted in one cell from range B2:Y3700, to enter in cell Z1234 the number of the row where is located the respective cell. At same the time is very important to me to not permit to insert the same number in B2:Y3700, so i believe that is need a macro code to check the cell from column z to see if value already exist .
Is it possible to save a workbook whenever any changes are made to any cell in a specific column? The reason - I'm putting an excel workbook out on a network drive for 4-5people to share. The sheet contains work items which are imported every 4 hours... Column A contains the status.
I want to save the file every time anybody changes a status to prevent multiple users from working on the same item. I realize that I could build a form then load each workitem into the form, then apply the save to a change event on the field/control, but that's something for next week - I need to get this out the door, bare bones, as soon as possible.