I have a DDE-based worksheet, that is obtaining data from Townsend Analytics' RealTick Server software. One of my cells is a DDE formula that retrieves the current BID ask price, for a given stock.
When a new BID price comes in to my designated cell, I need to somehow capture the existing BID price, before this new one updates in the requisite cell. I want to be able to store this "old" value in another cell.
Unfortunately, there is no "pre-cell" event trapping. I've tried to work with the worksheet_change event, which passes an argument of the effected cells, but the cell value has already changed, by the time this event has been called.
This problem sounds simple, but I am at a loss for a solution. Does anybody out there in EXCEL-land have a solution ?
cell A3 contains a drop down list of student names.
say, William is the 1st student listed on cell A1.
when William is selected his math grade shows up on cell B3 & his English grade on cell C3
I figured out how to make cells B3 & C3 change according to selected student from cell A3. All data comes from the Database Table, which is locked/unedittable.
Is there a way to copy/transfer a cell value to an adjacent cell when the value of the cell changes. So if A1= 5, and it changes to 3, have B2 = 5 when this happens.
Say i wanted to track the changes in a cell, i.e. if a number changes in a cell it records the new number in a new column. The following macro achieves this for one value; say type a value in a15, it records the number changes in column D;
Private Sub Worksheet_Change(ByVal Target As Range) Dim DestCell As Range With Target If .Cells.Count > 1 Then Exit Sub If Intersect(.Cells, Me.Range("a15")) Is Nothing Then Exit Sub If IsEmpty(.Value) Then Exit Sub If IsError(.Value) Then Exit Sub
[code]...
But what if need to track the value of 4 cell changes in different columns, and record these values into different colums of their own? So for example, if i had a value in a1, and wanted to paste the changes into D; if i had a value in a2, and wanted to paste the changes into E; if i had a value in b7, and wanted to paste/record the changes into F etc etc.
I thought about running the macro for each cell but it wont work, for example i tried;
Private Sub Worksheet_Change(ByVal Target As Range) Dim DestCell As Range With Target If .Cells.Count > 1 Then Exit Sub If Intersect(.Cells, Me.Range("a1")) Is Nothing Then Exit Sub If IsEmpty(.Value) Then Exit Sub If IsError(.Value) Then Exit Sub
I would like to have people enter text in the cells in column A and record the Date and Time they did it in the same cells in column J.
I have tried (in cell J1) If(A1<>"", NOW(),"") but of course the problem is that it keeps updating to the present time. I tried using INT(NOW()) but that doesn't work
I know I could simply Copy and Paste Special over each cell in the J column but that seems terribly inelegant.
I am working on this project that involves opening several Excel spreadsheets and copying the data into a new workbook. The problem is that the names of the various worksheets I want to copy change every day - it always reflects the date. I open 7 workbooks, go to the sheet named (for example)01.17.07, copy a static range and then paste it to a new workbook.
Is it possible to record a macro and use a cell reference in the destination workbook (the one I want to copy to) to tell it which worksheet to copy? So, for example, I would type 01.17.07 in cell A1 of the new workbook and the macro would look for the sheet named 01.17.07 when running? Then tomorrow, I could type 01.18.07 and it would know to look for a different sheet?
I'm trying to record a macro that is using vlookups to get data from another data sheet, this data sheet will update each month - the old data moving back a column (so the new data is filled into the same column each time).
However, on the sheet where i am recording the macro, i need the data to fill in the next column each time.
I'm trying to record a macro that calls up the saveas dialogue and uses a filename from a cell (it's the w/c date). I can start recording the macro, open the dialogue box and copy the contents of the cell but i can't get it to paste as the filname.
What I'm trying to achieve is to allow users of a muli-sheet workbook to be able to click on a 'save' button on any sheet and have the workbook save with a filename which includes the current week commencing date. This way all the weeks changes will be in just one file and from the following monday a new file will be started the the old one left alone as an archive.
see attached file. Need to find latest non blank value - in attached file it is highlighted in yellow. From there, want to summarise 26 weeks back so, in the attached file:
Row 2 would be finding 750 and summarised back 26 weeks from 30 sep 2012 Row 3 would be finding 2250 and summarised back 26 weeks from 2 dec 2012 Row 4 would be finding 5000 and summarised back 26 weeks from 4 nov 2012
I'm trying to copy data from one excel sheet to another excel sheet. However, the data to be copied is dependent on the 'client name'.
To explain this further, in the first list I have a detailed report on our clients and the services provided to every employee of that company/client.
However, the sheet two only needs the names of the employees that belong to a specific client.
This can be done manually by setting a fliter on the name of the client/company, but I need to be automated. To ensure only that specific company/client company's employee name is copied.
Trying to get a record of who authorized spending in one of my worksheets and when they did it
I had some VBA code in one of my worksheets which added a time stamp and a user ID to two different cells after the user enters their name. Why it is no longer working, though I suspect after moving the worksheet around.
I would like my users to type their name into cell G65 (which is actually merged from G65-K65). Once the user enters their name, cell L65 (which is actually merged L65-O65) populates with the current time stamp. Also, when the user enters their name into cell G65, I would like cell P65 (which is actually merged into P65-S65) to auto populate. I would like this all of this to go down through line 70.
I want to copy formula from previous row to next cell when i enter something in perticular cell. i.e
--Colomn A --- Colomn B -- --------Colomn C 1 01-09-07 ----- John ----------=vlookup(b2,$s$1:$t$10,2,false) 2 01-09-07 ----- Smith -------- =vlookup(b3,$s$1:$t$10,2,false) 3 4 5
Now if i enter date in cell A3 then cell C3 should be automatically filled/copy formula as celll C2. and so on...... then if i enter data to A4 then cell C4 should be automatically filled/copy formula from cell C3.
With "edit directly in cell" turned off, if you double click through in a cell containing a formula to the cell being refferenced, is there a quick way of getting back to the original cell you clicked on?
If I want to create a column of numbers, say 1 2 3 4 5, I can simply add +1 to the previous cell and then use "fill down" to generate my number sequence. How would one generate a column of numbers that repeat once? e.g.: 1 1 2 2 3 3 4 4 5 5, etc
We have a sizeable Excel workbook that contains many worksheets for various things, everything works smoothly except for one minor niggle.
I am looking for a formula that references to a cell on a previous worksheet, the worksheet could be named anything (eg A1, B, 2, 3.4, etc). Then to add 1, ideally the first worksheet inserted must equal, say, 0 BUT can reference the sheet previous as this is a constant; so something along the lines of...
Cell A1 =magic formula Cell A2 =A1+1
This is to get a vlookup to work consistently.
OR another option is, for the worksheet to reference an already populated worksheet and read down a table by adding one to reference the cells. Eg first sheet reads ='schedule'!A13, the next sheet added would read A14 then A15 etc...
OR a worksheet (like page numbers) count into a cell onto each worksheet inserted, eg on worksheet 6 in cell A1 the number 6 would be inserted then worksheet 7 would have 7 inserted into A1 etc..
I have a cell (F2) that is auto updated with total sales units for today (Its a simple counter of individual sales). I want to detect when there is a "batch" of sales >= 10. ie. F2 may start at zero for the day and increment by 1,2,5 or 10 units at a time. If the increment is 10 units or more I would like to detect this and store the result in cell G4.
Typical values in C2: 0, 1, 6, 7, 9, 19, 21, 22 etc as new orders arrive. The larger order between 9-19 (viz 10 or more), I need to detect and store in G4. I know that I need to use both the current value of F2 (say 19) and the previous value of F2 (say 9) to perform this, but the solution eludes me.
I am using the following code (I found here), to test for unlocked cells when I am creating a sheet. (I'm really new at this) I have 2 issues. First this (below) doesn't end itself, I have to escape or pick another cell. Second, I would like another button to return cells to the previous color after I have corrected any locked/unlocked cell errors.
Private Sub CommandButton2_Click() Sheets("bf calcs").Select Sheets("bf calcs").Unprotect ""
I have a row of dates with a variable number of nonblank cells between them. e.g.:
A1 1/9/12 B1 6/9/12 C1 D1 8/9/12 E1 F1 G1 12/9/12
I want to calculate the NETWORKDAYS between dates, but where there is a blank cell, I want to be able to use the date in the previous nonblank cell. For example, NETWORKDAYS(B1,D1), if cell C1 is blank or NETWORKDAYS(D1,G1), if cell F1 is blank.
how to get the value of the previous nonblank cell and nest it inside the NETWORKDAYS formula?
So it's pretty basic. If we simply remember the first ColumnA and ColumnB data, go to the next row, if ColumnA is the same, then ColumnB should be the same. If it's not, then fill with red, go to the next row, repeat. if ColumnA changes, remember the new pair, go to the next row and compare again.
I've thought about this from a scripting perspective, and imagine that something like this would do the job:
Code: sub FindBadTermID () Dim row As Integer Dim dataA as string, dataB as string Set row = 2
My favorite question in IT was, "Can you recover the file I did not save?" and now I am basically asking the same question.
I have headers on one sheet tied to fields on another sheet. If the user changes a header I would like to display a message that says, "The header you changed, 'OLD MESSAGE HEADER' will no longer match the value on the look-up sheet. DO YOU WANT TO CONTINUE"
If they say no then the old header is restored. Is this possible?
I am trying to take a column of data located on one sheet and move into two different locations on another sheet. My range is from A1:A10. The below code works, but as it loops, it replaces G1 and H1 with the other values from the original range. Once the first pos and neg values are placed in G1 and H1 respectively, I want the next cells to be evaluated and placed in G2 and H2 etc. What am I missing here? How can I get it to stop pasting over itself?
Sub test() Dim bcell As Range For Each bcell In Range("a1:a10") If bcell > 0 Then bcell.Copy Destination:=Worksheets("Sheet2").Range("G1") Else: If bcell < 0 Then bcell.Copy Destination:=Worksheets("sheet2").Range("H1") End If Next bcell End Sub
My current code works, but there's got to be a shorter version to insert rows based on a cell value. Currently my code works on a series of If statements. If the value in the current cell is "2" then goto the next row and insert one line. If the value is "3" then go to the next row, insert, next row insert etc. I'm currently written up to a value of 10, but the coding is getting longer and longer. Anybody got a shorter loop that I could use.
I need to locate the address of the previous active cell without triggering a selectionchange event (as this is where my code is activated from). Here is what I am currently using unsuccessfully:
if cell in column E contains 'YTD', append value of cell in column D at the end with a space before it (example: " VALUE") to cell in column C. not sure how to go about this. i attached a one row example
I'm trying to use the find() function (or another if it exists) to find a previous non-empty cell.
Basically, the active cell will be ain a column with mostly empty cells, and I need it to move up the column looking for the previous cell that is not blank. I could do it with a loop, but I'd rather not if possible.