System Monitors Changes To The Spreadsheet And Then Performs Actions Accordingly
Jun 15, 2009
Macro: the system monitors changes to the spreadsheet and then performs actions accordingly. Example: If the value of column c = Bug, then it sets the value of G to Celeste and Column H to Kewill.
Could this macro be changed so that instead of having to enter "Celeste" in this code, it could set the value of column G to the value found in H5 on the sheet?
I tried replacing "Celeste" in the code with H5 but it did not work.
Private Sub Worksheet_Change(ByVal Target As Range)
'Declare variable
Dim iCol As Integer
'Look at the column number of the changed cell (Target)
Select Case Target.Column
'Column C
Case 3
Select Case Target.Value
'if "Bug" set iCol to 3 (Red)and change value of column G to "Celeste" and Column H to "Kewill"
Case "Bug": iCol = 3
Target.Offset(, 4).Value = H5
Target.Offset(, 5).Value = "KWL"................
I currently produce excel reports for my company but need to somehow monitor how many times they are accessed and, if possible, when and by whom. All these excel files are situated on a server that our company uses and all users systems are connected to this. We use office 2003 and Outlook as the emailing system. My guessing is that the programming would have to intiate the usage file, amend it, and then close it each time a report is opened.
For each of the files that I want this file to monitor, I have written the following program which essentially opens up the usage file 'EPoS Usage' which is a simple grid, enters an extra one to the relevant counter cell then closes it. I really need to include a date and time for each opening and, if possible, get a username as well. Here it is:
Private Sub workbook_open() Application. ScreenUpdating = False Workbooks.Open Filename:= _ "S:Newman CommonCATEGORY MANAGEMENT - RangesEPoS Usage.xls" Dim Counter As Integer Counter = Cells(2, 8) Counter = Counter + 1 Cells(2, 8) = Counter ActiveWorkbook.Save ActiveWindow.Close Application.ScreenUpdating = True End Sub
Basically We have a column with our part numbers and a column with the vehicle applications which contains the years, make, model, and engine.
Most of our part numbers have multiple applications that they work for.
The vendors system only uploads unique part numbers, so I need to find an easy way, if posable, to combine all the applications that use the same part number in one cell next to it's specific part number.
I don't know if I should be messing with formulas, pivot tables, VBA...?
I have a scenario where I am trying to work out on a spreadsheet how many failures I have had according to a traffic light system. If I have 5 or less failures it is considered green, between 6-10 amber and 11 or more red. How can I create a formula under column A that captures which status it is on?
I'm putting together an HR spreadsheet for interviews, showing the progression of a candidate. In column A, it's showing the status. In column B, it's calculating the age of the open recruiting process =NETWORKDAYS(F23,NOW()). This formula will go on for ages, if I don't stop it when the recuritment is over. So.....when I change the status to Closed in column A, I would like column B to stop counting the days automatically....
I want VBA to open two separate sessions of IE on two separate displays.
I have not been able get the display part to work and not finding anything so i am not sure if i need separate sessions but would like to do so to be safe (doing it manually on the computers using i have to have separate sessions of IE to do full screen on the two monitors).
current code: (this opens two IE windows on full screen on the default monitor)
Code: Sub Test()
Dim objIE As Object
Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True
I run two monitors and am able to open different files on each monitor which is very handy.
This doesn't seem to work with Excel. If I have two different Excel files open I can only view one at a time. I can move across to the other monitor, but then can only view one at a time on that monitor - very frustrating.
When I was using Excel 2010 on my last job I was shown a clunky, round-about way of being able to open two Excel files, one on each monitor. (By opening one file, opening a new Excel document from there, and then opening the other Excel file from the new document, minimizing that file and dragging it to the other screen).
Now I am using Excel 2007 and am not able to view two different Excel files, one on each screen. how I can do this in Excel 2007?
I am trying to create a macro that checks and displays the screen resolution for both the Main monitor and the secondary monitor.
Currently I have this code that displays the resolution on the main screen only:
Declare PtrSafe Function GetSystemMetrics32 Lib "User32" _ Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long Sub ScreenRes() Dim lResWidth As Long Dim lResHeight As Long Dim sRes As String lResWidth = GetSystemMetrics32(0) lResHeight = GetSystemMetrics32(1) sRes = lResWidth & "x" & lResHeight MsgBox sRes End Sub
However I want to then display another message with the secondary display's resolution (or on the same message box).
I believe that someone showed me once that you could view the same workbook on two monitors with the vien arrange all mode, you could make changes on both screens and the changes would be saved to the same file similar to arranging two views. I cannot rememebr how to do this or even if it is possible.
I have a splash page I created and I work on dual screen monitors. Typically I have Excel open on the left monitor and my VBA window (alt-F11) open on the right. If I close my Excel workbook and reopen it, the splash page will always open on the screen that had the VBA window on last. In my case Excel opens on the left monitor and the splash page shows up on the right window. I would like to have the splash page open on the side that Excel opens on (in my case the left side). Wondering if there is some VBA code I can add in my splash page code that would allow me to override this default setting?
I have a list of petroleum accumulations with three types of data: Reservoir depth, Net Pay and Gas-oil ratio. for each accumulation, the number of reservoirs within each can vary. So I may have a accumulation with only one set of those stats, or an accumulation with 20.
I need the program to go down an alphabetized list (8000 entries long) and after every unique accumulation name average the values of the stats(which are in three separate columns) then put it in one row perhaps beginning in Column M or another sheet. So that I have a list of accumulations with the average of those stats, one entry per accumulation name.
I am working on trying to make a macro I wrote run faster, and I understand that one way to do this is to stop certain actions from occurring. However, I am having a hard time understanding what stops what, specifically among these:
This Coding is correct for CheckBox49. This code Changes the Color of one Cell from Black to white and the cell below it from white to black...(its a dipswitch) when the check box is checked... When its unchecked it does the opposite....
Code: ' ACM 1 Switch 1 Private Sub CheckBox49_Click() If CheckBox49.Value = True Then Range("AC24").Select With Selection.Interior .Pattern = xlSolid [Code] ........
Now what needs to happen is this.... I'd Like to have this Happen if checkx49 is checked...
Code: Range("A1,K50,K51,R50,R51").Select Range("R51").Activate With Selection.Interior .Pattern = xlSolid
[Code] .......
If Checkbox49 is unchecked do this... Put in D26 Reader Name? in Italics.
Code: Range("K50,K51,R50,R51").Select Range("R51").Activate With Selection.Interior .Pattern = xlNone
[Code] .........
Also...what ever information is entered in D23. Put that in F50 with RDR at the end... Whats in D23 Put in F51 Whats in D23 Put in M50 and concatenate with a space from cell U49 Whats in D23 Put in M51 and concatenate with a space from cell Y49
Lastly code to select K50, K51, R50, and R51...=Len whats in F50, F51, M50, and M51 when the box is checked...and dont len when the box is unchecked.
I am currently using a product formula in a cell and was wondering if I could add a round up/down action to numbers containing decimals? For example, let's say that my cell values are 300, 327.6 and 355.2 after using the product formula. Is it possible for those values to reflect 300, 328 and 355, respectively?
Is there a structure inside of Excel which keeps track of all the actions taken by a user (something that would presumably be used to allow for an undo sequence)? If so, is there a way to get access to it?
I have a series of macros altering various workbooks and sheets. They're numbered Step1, Step2, etc. In my Step5 I have a series of Case statements in a macro, and I don't know how to get it to do what I want next. I have NOT tried running this code yet, and I'm sure I have something(s) wrong in it.
1) If the selection in DstWbk, sheet "Steps", is "01DSP" through "11DSP" the macro needs to delete specific columns in the SrcWbk, and then move to the next step (6).
2) If the selection in DstWbk, sheet "Steps", is "*DSP" the macro needs to go directly to the next step (6)
3) If the selection in DstWbk, sheet "Steps", is anything else the macro needs to flash a generic "No Data found" message and move on to Step7.
The part of the code that's throwing me begins at 'Select only the specific regional data' and ends at the "Case Else MsgBox"
I'm using a Private Sub Worksheet_Change(ByVal target As Range) macro on Worksheets(2) to perform certain actions when a selection from Worksheets(1) is pasted to Worksheets(2). Before ending the Worksheet_Change sub I'd like it to deselect the copied selection on Worksheets(1). I've tried to do this by selecting Worksheets(1) and moving the cursor, but VB ignores the "With Application.Worksheets(1)" instruction. Removing "Private" from the sub heading makes no difference.
Is it possible do this with a Worksheet_Change routine? If so, how?
I am trying to use following codes for a add-in utility so that user can enable or disable logging activity for a given workbook.
My problem is to how to add the following code to a new workbook so that "Loginfo" function could be activated. I have tried some application... based commands but it do not seem to be working.
I have made an class and created a file to log when user change value or insert formula in a sheet get recorded in a file C:Logme.csv. The problem is it is recording the value and formula at random i.e in some instances it records the value and in some instances it is not recording the value and formula in logme.csv . I am unable to figure out why this is happening?
I wish to perform different actions depending on whether certain errors are present in a cell and I can't figure out how to do it.
Attempt (within some For loop):
othCell = ActiveCell.Offset(-95 - counter, 0) If othCell = CVErr(xlErrNum) Then conditioncount = 0
This generates a "type mismatch" error. I also tried othCell.value in place of othCell on the second line; I don't really follow the distinction in usage for "value". I've also attempted this with Error 2036 in place of CVErr(xlErrNum). I don't know much at all about VBA!
I have written a macro which references to several different sheets and cells therein. The macro is assigned to a command button on 'Sheet 1'. When I click the command button, the screen flickers and the user can see the macro running all the commands I have written. Is there a way of stopping this - maybe replacing it with a static screen view whilst the macro runs?
where exactly to add the code under Tools > Macro > VB editor.
My version: Office XP Pro ("2002")
The first code I need should be simple. I want Excel to copy cut delete files from the hardware, using data from a workbook.
There are 3 sheets: 1. "Names" - contains picture file names (without the JPG extence) in one column, 2. "From" - contains a cell with the original path to copycutdelete from 3. "Target" - has a cell with the target folder path (in case of copying/moving).
I made it in 3 sheets for making it user-friendly, since unskilled users will use the method.
I need to have 3 hyperlinks in the first sheet: "Move (cut)", "Copy", and "Delete", and by pressing the matching VB code eill be activated.
The second code should output (and print, if possible) data from a line to a pre-defind sheet.
Let's say there are 4 columns: picture file name, name of photographer, description of the photo, and the date it was taken. There will be in the end of every line a cell with a hyperlink called "Output photo details" to output the data to specfic cells in the Print sheet (e.g. the date goes to D7, the name goes to A3, etc.). An important thing I wanna output is the picture itself (like from "Add > Picture" ment, in a location I define in the code.
I have a workbook that is used to track overtime hours worked through the year. I've received some help from users on this forum, and others, to create the necessary macros and formulas to allow a supervisor to make use of the form; however, the workbook is also used to track those that wish to volunteer to work overtime each weekend. The sheet has a list of names for the employees on each shift, then a column to allow a "Y" to be placed under the date - designating them as a volunteer for any overtime available. I've found this spreadsheet (attached - from this site) that will allow individual users to access the workbook and have unique passwords for each. I don't completely understand how it works, but I feel it may be a start to getting what I want.
Essentially, once the user selects their name and inputs their password, I'd like the workbook to be opened and then allow them to only manipulate the row associated with their name. That row will change from week to week, so specific numbers will not be able to be used, but their name will be the same as the name used in the logon.
I feel like I'm asking for a lot here, so just some initial guidance on whether this type of thing is possible would be an acceptable answer.
Is it possible to have a conditional cell based on the actions of another cell in a second database sheet.
For example: A single excel file contains two database sheets. If any characters are entered into cell A1 of sheet 2, then cell A1 of sheet 1 turns grey.
Currently I'm working on a prediction game using excel. Can excel do the tabulation itself(Points awarded) if I just key in the result? Can anyone help me? Thanks in advance. Examples below,
Result 3-1
Name Predicted Scored Points Alex 3-1 5 Brian 4-1 4 Charlie 2-0 3 Derrick 3-3 1 Eric 0-2 0
Point System: 1 point for correct goals/no goal by either both teams 3 points for correct result ( Win, Lose, or Draw - say result is 3-1, 3 points if you predicted a Chelsea 2-0 win) 5 points for correct match results No points for incorrect score and results.