Creating Macro Dynamically On Keypress And Execute
Apr 1, 2014
creating macro dynamiccally on keypress and execute it
i have 3 excel sheet sheet1, sheet2, MasterSheet
MasterSheet conatins the following
COLUMN A COLUMN B COLUMN C
Colorcode FLAG SKEYS
RGB(121,223,214) A Ctrl+a
RGB(125,228,114) B Ctrl+b
[code]....
I have 3 columns column 1 contains colorcode in RGB format column 2 Contains FLAG and column 3 contains SHORTCUT KEYS
i have a macro in sheet1 & sheet2 for coloring the backgrouf color of the selected rows in sheet1 or sheet2
Code:
Sub Macro_color()
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = RGB(234, 241, 221)
.PatternTintAndShade = 0
End With
what i need is when th user presses say Ctrl+c , RGB(233,129,220) from the MasterSheet needs to be copied in the macro as .Color = RGB(233,129,220) instead of RGB(234, 241, 221) and the selected row in sheet1 shld be colored. how can it be done
Is there any way to "Inscribe" a cell? I would like to run a macro on Enter keypress, that would execute different code depending on that "inscription" that would be invisible to user. I could use some properties of . Validation property like this:
Private Sub EnterPressed 'following code to ensure proper functioning of Enter in any other Worksheet If ActiveSheet <> mySheet 'MySheet is global Variable then ActiveCell.Offset(1,0).Select exit Sub End If 'now the real code If ActiveCell.Validation.InputMessage = "1" Then ActiveCell.Offset(0,1).Select Else 'something else End If End Sub
The problem is, I use Data Validation and Conditional Formatting, so can't use any of these properties.
I have turned a Workbook with Macros into an add-in. The macros work perfectly for the intended purpose: copy selected data in a special way and put it into an e-Mail message.
I used the CustomUI Editor to assign a macro to a Ribbon button.
However, when I turn it into an add-in and click the Ribbon button, it doesn't work on my machine or any other machine, with an error that says "Cannot run the macro 'CreateListofInventory'. The macro may not be available in this workbork or all macros may be disabled.
My macros are not disabled, and the add-in doesn't even work in the book where the macros reside.
Is is possible to have a button or a box of some sort that the user of a spreadsheet can click to execute a piece of vba code that I have? If so, can someone tell me how to insert such a button?
I found the following code to execute a macro in all excel files in a folder. Sounds amazing! I have a code to add to it, however I am having issues getting it to work. take a look at it and let me know what (more like, how many things). I am adding this to the Sheet 1 Worksheet.
I would like to add a command to my macro that will do one simple step: Refresh all FDS Codes
FDS I believe is short for FactSet Data Series. FactSet is an add-in for excel we use at work. The FactSet menu button is in my ribbon and when I choose that add-in, there are a number of actions I can execute. One is to refresh all FDS which is to refresh all cells with formulas that pull in data from our FactSet database.
I tried recording this action but VBA does not show any key strokes from those steps so I think I just experienced one of the many shortfalls of recording macros. Is there a way to write the macro to execute this action? I would think since I am using a FactSet add-in, it would be possible but I don't know where to begin.
On my worksheet, i want to execute a macro to calculate and display some informations when the mouse is positioned over certains cells. I look around but did not found how to do it.
I want the information to be displayed above that cell and disapeared when mouse pointer moved away.
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.
How would I add a YesNo MsgBox to my existing macro that I have set up through a commancd button? I would like the user prompt to ask the following ? ---> "Would you like to move the data sheet forward 1 week?". Then if "Yes" is selected, run the following macro. If "No", end the subroutine.
I've got a small - almost "cosmetic" problem. I have a listBox on a userForm and I'm checking for a keystroke combination to see if the user wants to edit related data. That's working fine. However, when I return to the userForm, it beeps at me. Impertinent! I think it's because Excel doesn't know what to do with the keyStroke that I used - Alt U. I've attached code. I think that I just have to set the keycode to something that will be ignored by Excel.
Is it possible to create 1 macro which will execute multiple macros on different sheets?
I have approx. 12 macros that I can run in order, and I would like to create 1 button on the first sheet of the workbook to execute all 12 macros, which are contained on various other sheets. Is this possible?
When I attempted to do this, the master macro ran an odd function on my first sheet.
Iv found some code that will limit my textbox entry to numbers only, i dont quite understand how it works and i need to change it so it limits the textbox keypress entry to Text Values only.
I've attached a sample workbook in which there are 3 macro-buttons.
The buttons will paste a shape in the active cell. So this means the buttons themselves could be deleted and replaced with a shape.
Since locking and then protecting the cells disables the macros, how can I amend the code to make sure the buttons' cells are protected from the copying and pasting macros? Or, how do I ensure that the macros only work in A1 - E5?
Below is some code that I found on the internet some while ago. When Excel opens this code runs which brings up a message box prompting a user to select an option. If no option is selected within 15 seconds then the macro runs, else it depends on the selection entered.
The problem that I am experiencing is that sometimes when the user does not select an option the macro does not execute after the coded 15 seconds. The message box just sticks around until a selection is made.
Most of the time it works just fine... some of the time it doesn't. The problem would appear to have gotten worse since upgrading to Excel 2010.
So, my question is either:
1. Why the code does not execute as expected each time Excel is opened? 2. Is there a better / more robust way of executing the below code without using "shell"?
For example - I have a two macro codes. One is change the Date Format from DD.MM.YYYY to MM/DD/YYYY and another one is Date Format from MM/DD/YYYY to YYYYMMDD.
I want to execute the macro from the customize ribbon through Add in Buttons.
See the attachment : Customize the ribbon with Macro code.jpg
I have to run a report each morning and in once cell I need to pull in the contents of another cell from another worksheet. I'd rather not have to open the additional file each morning to copy and paste special the values so I'd like to add to my current macro to pull this data in automatically. I have to do this for two different reports/portfolios and the data I am pulling in for each portfolio is located in the same exel file but under two different tab names, the portfolio names 2010 and 2045.
Deliverables The spreadsheet I am pulling data in from is located here: K:Risk OversightMarket RiskTracking ErrorBARRA and the file name is: Daily Barra Tracking Error.xls
Tab name would be 2010 for the 2010 portfolio or 2045 for the 2045 portfolio The vlookup will be from "A32:B2500" and I would like to incorpoprate an IFERROR function that returns "" in the event of an error. Column "A" are dates and column "B" is the data I need to pull in.
Receivables I am pulling the data into cell "J23" of a summary report (sheet 2) and would like the vlookup to read something like this:
IFERROR(VLOOKUP("K1"Active.Workbook.Sheets2,[K:Risk OversightMarket RiskTracking ErrorBARRA"&"Daily Barra Tracking Error.xls"(Sheets)]."2010""A32:B2500",2,0),"")
This should return a blank cell if the date cannot be found in the data spreadsheet and return the correct data for teh correct date being referenced in my summary sheet.
how to do the bracketed parts for pulling in the right spreadsheet and tab.
I have a Userform whose purpose it is to capture payment information, in particular Creditcard information. To this end it has (amongst other elements) 2 textboxes - textboxCardNr1 and TextboxCardnr2.
the User enters the cardnr in Textboxcardnr1 as, e.g. 4321098765432109. Through the code below I transform this into the more readable number 4321-0987-6543-2109. I capture the keypress instance to only allow numbers to be entered in this field and to simultaniously update TextboxCardNr2 with the keystrokes.
On exiting TextboxCardNr1 the content of TextboxCardNr2 is copied to the clipboard to be available for pasting on a secure website in the approriate field.
My problem is, that when the user makes a mistake and changes the number in TextboxCardNr1, those changes are not automatically mirrored in TextboxCardNr2.
I want the easy to read form of the card - with the dashes, to be saved. The website the user is pasting the content of TextboxCardnr2 to does not accept the number with dashes.
Private Sub TextBoxCardNr1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Dim taste As String Dim wert As String
KeyAscii = 0 If taste = "0" Or taste = "1" Or taste = "2" Or taste = "3" Or taste = "4" Or taste = "5" Or taste = "6" Or taste = "7" Or taste = "8" Or taste = "9" Then If Not Me.TextBoxCardNr2.Text Like "################" Then Me.TextBoxCardNr2.Text = Me.TextBoxCardNr2.Text & taste............................
I have used this code a number of times to automatically change the scale of x axes without problem. I have just used it however and it has condensed the data so that it the line only appears in the last quarter of the chart.
Code: Option Explicit
Sub ChangeStaticAxisScales() With Sheets("Static Charts").ChartObjects("Chart 2").Chart
' Value (Y) Axis With .Axes(xlValue) .MaximumScale = Worksheets("Raw Data").Range("AN7").Value .MinimumScale = Worksheets("Raw Data").Range("AN6").Value .MajorUnit = Worksheets("Raw Data").Range("AN8").Value End With
I have a macro, it imports data from a text file and separates the data from the text file into columns. My issue is that it automatically picks a fixed filename. I would want to manually select a filename from different directories.