Using Excel 2003 with WinXP. I'm trying to run macro code automatically whenever time = 9:30:01 (or whatever time I pick) for a stock market trading program, which is why the exact time matters so much. I've been able to get the time to update fine, but unless I click on the worksheet while the time condition is TRUE then my code doesn't run. The time actually is sent to me from the stock data provider and it shows up in a cell as a constantly updating value.
I've tried using the Workbook_SheetChange function and OnTime method, but without luck.
In both cases, unless I activate the sheet the code doesn't run. By activate, I mean that I have to click on the sheet when the values that trigger the code to run would be true. If I do that it works just fine, but sitting around and clicking on a worksheet defeats the purpose of automation. Since I'm trading stocks this has to be very exact, so I can't trust a macro scheduler to do this.
The code further below is what I'm trying to get to run. The time value is in cell L1. In cell L2 I have the following
Assume a cell -- say A1 -- has a long formula in it. If I select A1, press F2 to "Enter" the cell, then I have a blinking 'l' indicating the cursor/pointer position WITHIN the cell.
Is there any way to control the position of the blinking 'l' (or whatever it is called)? For instance, in a long formula, I would like to write a macro which could transport the blinking 'l' to midway into the formula string.
Alternatively, can I make a partial selection WITHIN a cell and run a macro on it. For instance, if cell B1 has a heading "Dec 2007" and I highlight just the "Dec" portion of the string, I would like to execute a macro to color it red. I have a simple macro that can do it to the entire cell, but not to only part of the cell contents. Is there any way for VBA to be active when I am WITHIN a cell.
Sub Font_Red() 'will add red color to ActiveCell font Selection.Font.ColorIndex = 3 End Sub
I want to execute the following code once for each day (Mon to Sun)
Dim Day As String Dim DeletedDept As String Set StartRange = Cells(Range("Cashiers").Row + 1, Range(Day & "_Date").Column + 1) Set EndRange = Cells(Range("Cashier_Totals").Row - 1, Range(Day & "_Date").Column + 3) Set EntryRange = Range(StartRange, EndRange) For Each cl In EntryRange If cl.Value = DeletedDept Then cl.Value = "" Next
I have some code that launches a msgbox and I would like to have the code continue to execute with the msgbox displayed rather than wait for the user to click OK/Cancel.
Is it possible to write a macro that can import VBA code in a text file then execute it? I need this functionality as I have produced a corporate spreadsheet template that goes out to many people and I will need to be able to update it as requirements change once it has been distributed. So my idea was to build a macro in the template that has the code in it to import the "update code" from a text file that I would send to all the folks that have the template. If the template was centralized, that would save me from this issue but it is however going to be distributed widely.
I would like to write the code or create a macro that will execute when the value of a range of cells is greater than null. The macro or code that I would like to execute will UNHIDE a group of consecutive rows.
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?
I have recently used a before_close event on this workbook to save a backup of the open file to another location on my system. This works fine but I was wondering if there was some more code I could add to only execute this event on a write access basis.
The file I use can be viewed by anyone on the network as read-only and only certain users with a password can edit/update with a write access password.
The backup event is use executes every time the document is closed be it read-only or write-access.
Ideally I would like to add some code to only execute this backup if the file is opened on a write-access basis.
I need to be able to hide and unhide a given set of rows based on the value in a particular cell. My current code allows me to successfully do this, ONLY, when I select the cell being 'watched' for changes and press enter. It does not execute the code automatically.
The cell is changed by a set of filters that modifies the data. The watched cell is then a summation of the filter modified cells. If the filters change to all "0" or "-" then my 'watched' cell sum becomes "0" and thus should execute the code automatically.
Current Code:
Code: Private Sub Worksheet_Change(ByVal Target As Range) ActiveSheet.Outline.ShowLevels RowLevels:=3 If Range("I62").Value = "0" Then Rows("63:87").Hidden = True End If End Sub
So, right now if I use the filter and the cells change then the sum in I62 becomes "0", I have to manually select cell I62 and press enter and which point the above code executes exactly as I intend.
I need the execution part to be automatic and not have to manual click into cell I62.
Is it possible that when you press a command button, that the first thing it does is to execute the code assigned to another command button (IE in another sub).
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'm trying to execute a macro and it won't put the focus (radio button) to select x pages wide by x pages tall in the Page Setup/Page/Scaling Area. I looked at the macro and can't find a setting in the code but yet the focus won't change. What can I do about this? In other words the radio button stays selected as "adjust to "" % of normal size. Here's the code...
Data validation failed me here, so I resorted to VB to esnure only letters are entered in a certain cell. The code below is a mess and I need a hand to repair it. I can't figure out how to declare i . .
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("a59")) Is Nothing Then If Target.Count > 1 Then Exit Sub
I am using the following code to read a formula as a string. But sometimes the use r may forget to enter formula in the particular cell. In this case I want to check if the first character of the string is a Equal-to Sign (=). In case it is then macro proceeds further otherwise a message prompts user to enter a formula first. how to check if the first character of the string is a '=' sign?
I am looking for a piece of code and can locate the range of a specified string, and replace it with something else. For example, I need to find string "AA" and replace that with "BB", can this be achieved with VBA code?
Is there a formula that can be used to convert a manufacturing LOT Number to a Date? For example, the first six digits of our Lot Number are the MMDDYY followed by an item description (120913DKP-01). We are trying to pull the 120913 portion out of the lot number to equal a Date of Manufacture of December 9, 2013.
Having some trouble with the syntax to translate the content of a string. The string will always contain stock tickers, but the format varies. I need to normalize them into something like ticker(space)exchange code.
For example, cell 1 can contain: ABC.EF US - I need to remove the .EF so I'm left with ABC US ABCDEF.GH TT - I need to remove the .GH so I'm left with ABCDEF TT
The length of the part preceeding the "." will vary, as will the last two characters (the exchange code). I expect that there will always be two characters immediately after the "." which are to be removed.
My question is about converting a Literal String to Character Code. I'm using the following coded InputBox. And it prompts the user for what characters to search for in a string.
I need a VBA code that will insert a column next to A, search column A for a string of say 50 cities, and then enter the classification of that city into column B. example below.
Before A B 1 Boston Good 2 Atlanta Good 3 Georgia Bad 4 NewYork Bad
After A B C 1 Boston MA Good 2 Atlanta GA Good 3 Cleveland OH Bad 4 NewYork NY Bad
This code is not accepting the values which is starting from strings like this
for example
bearing 15/16 IN LG, 1-1/16 IN OD, 11/32 IN THK,21/128 IN ID 19/128 IN LG, 2-3/64 IN OD, 1/2 IN THK, 5/64 IN ID steel 15/16 IN LG, 1-1/16 IN OD, 11/32 IN THK,21/128 IN ID 19/128 IN LG, 2-3/64 IN OD, 1/2 IN THK, 5/64 IN ID spares 15/16 IN LG, 1-1/16 IN OD, 11/32 IN THK,21/128 IN ID
I have come across this wonderful piece of code that kind of accomplishes what I am after, to a point. Though I would like the output string to be displayed with a few extra characters.
Code: Function Concat(rng As Range, Optional sep As String = " , ") As String Dim rngCell As Range Dim strResult As String For Each rngCell In rng If rngCell.Value "" Then strResult = strResult & sep & rngCell.Value End If
This is column a and b. Looking at b I am looking for a formula that will pull the first capital letter out of each word like ACR to create color codes.
I would like to extract competition naps from the competition entries and then remove the string ending "nap" from the data so it can be pasted to another sheet in it's 'clean' format.
on the example sheet column B will always be the first column and the range will extend to either G,H or I (always the max range as there are always 6 to 8 races)
i would like the code to search through these columns of data and find the cell ending in 'nap' then to return this in column i, once done remove 'nap' ending from both the source cell and column i.
once done to then go through all the rows and do similar
the end result would be all naps returned into cell j and all the 'nap' endings through the data range B to I (max) to be removed to leave the horses name only.
in book 3 the first row nap was sommersturm so i have shown the outcome i would like with the nap ending in I1 removed and the horse name returned in J1 again minus 'nap' ending.
the data will always be clean with no leading/trailing/excessive spaces and always be lower case too. sometimes a space is not in between horse name and nap but it's always last 3 characters i want removed still.