I use the 'on time' function to kick users out of a shared workbook after 30 minutes of inactivity (i.e. no cells updated). Technically it works, as it does kick out the users.
However the time after which it does so seems to bear no relation to the time I have instructed. Sometimes shorter, sometimes longer! If it is was always longer, I would be happy that there is an error in my code somewhere (i.e. the time value is resetting on an unexpected event that I need to find and alter).
We have one shared excel workbook and it is used by many people (more than 20 simultaneously), is there any way to auto save & close the workbook (session) if a user is inactive for specified time.
I am looking for a function to convert time given by my computer (Local time) in EST (Eastern Standard Time). We are several users of a same file (with timestamp macros) and all time need to be aligned to one time zone (EST), even if all users are working in different time zone (EST, CST and IST).
I picked this code up off this board but it isn't quite working. After 5 minutes it activates the message. However, if no option is selected by the user, it just sits there because it is waiting for a user response and doesn't actually save and close the workbook.
Private Sub Workbook_Open() Application.OnTime (Now + TimeValue("00:05:00")) - TimeValue("00:00:30"), "Message" End Sub Sub Free() ThisWorkbook.Save ThisWorkbook.Close End Sub Sub Message()
Cuser = Environ("username") continue = MsgBox("This workbook will save and close in 30 seconds unless you press NO.", vbYesNo, "Hello " & Cuser) If continue = vbNo Then Application.OnTime (Now + TimeValue("00:05:00")) - TimeValue("00:00:30"), "Message" Else Call Free End If
I was wondering if it's possible for several users to be working in an excel file at the same time? I know that 1 person can be working in a file & other users can look at it in Read-only, but is there any way for more than 1 user to be WORKING in it at a time?
I am creating time sheet application , obviously i need to store the time when the user logs & logs out .. The issue is, the user can "Cheat" by changing the system time ...
Any alternatives?? Is it possible to store the time from a particular server etc or some other source.
I have a simple VBS script that puts the username & current time in columns. When the user saves that time is also placed into a column.
I would like to be able to calculate the amount of time a user has spent on the spreadsheet for the current month & if possible the total time all users have spent on the spreadsheet this months.
In a single cell, I'd like to include an IF statement and validation list reference. The goal: if a cell is a certain value, I'd like all of the following cells in that record (row) to kick over to "N/A". These other cells currently reference a validation list. Otherwise, I'd like the drop-down lists to be available.
My thought was: =IF(a2="Support","N/A",...). For the ... false value placeholder, I was hoping to be able to reference the validation list. The error I'm getting when I try the IF statement in a validation list cell is: "The value you entered is not valid. A user has restricted values that can be entered into this cell."
i have a workbook that contained a single sheet, i ciopied this sheet and amended them accordingly (ie picking up different variables etc).
For some reason every now and again some of the cells on the sheets that are effectively copies of the original dont update, i literally have to click on them and hit Enter.
I know that calculation is switched on as automatic.
I added a combo box to each sheet of a workbook. Each box referenced a range within the sheet and linked to a cell on the sheet. Each box was tested and worked perfectly. Yesterday. On opening the book today, however, I've discovered each combo box is dead in the water. They are totally inactive and can't be activated in any way. I've checked the properties sheet for each and can't see anything out sorts. As a test, I added a new combo box to a sheet, and interestingly enough, it not only works fine, but also seems to have activated the original box, which also now works fine. Other boxes on the other sheets are still inactive, however.
I am having a "cosmetic" issue that I was curious if I can fix it.. I have a workbook that opens a network workbook, saves some data to it, and then closes the network workbook.
Everything is working fine, except I cant get the code to "reactivate" the initial workbook. After excel saves and closes the 2nd workbook I opened, my screen stays on my desktop, instead of refocusing on the initial workbook. I have to manually click on the initial workbook in my taskbar to bring it back into focus...
I thought the below code would bring the inital workbook back into "focus" on the users screen, but it's not working.
I just moved the Application.ScreenUpdating line as initially I had it at the very bottom, but that did not correct. The confirmation.show is just a dialog box that informs the user the changes were saved successfully. I would like the first workbook "sxssubmit.xls" to come back into focus automatically though, without the user having to manually select it from the taskbar.
I need to grab data from one sheet while I'm in a different one - same workbook, however. From the first sheet, the data that I need would be an "activeCell.value" issue. From the other sheet, however, how can I get that cell's data - an "inactiveCell.value" call, in essence? Right now, I'm getting around it by assigning the value to a global variable but that seems wasteful.
I want to create ranges in a worksheet that is inactive.I have 3 sheets in the worksheet and i want, while the first sheet remains active, to create ranges in the second one.
I'm using the following code that creates no errors no matter how i use it but it works only if the second sheet is active.
CopyPaste operations leaves the goal range selected and I don't want that. The .Activate and .Select methods seem to require that the cell to be selected refers to the ActiveSheet.
What I'm doing now to change the active-cell is kind of: 1. Disable ScreenUpdating 2. Save a reference to ActiveCell 3. Activate the relevant goal-worksheet 4. Change the ActiveCell to the upper-left-cell of the Selection 5. Come back by the reference in point number 2 6. Enable ScreenUpdating.
It works, but seems to me as a huge job for something as simple than "collapsing" a multi-cell-selection. Another irritating problem is the slight screen-shaking caused by the disabling/enabling ScreenUpdating.
I tried to use Workbooks("Inactivebookname.xlsm").Close False and many variations thereof, but I simply cannot close this workbook when currently another workbook is active.
I have no problem in closing an active workbook with ActiveWorkbook.Close
I'm just trying to figure out how to implment UDFs. I got a nice tool that provides linear interpolation for a data table. Unfortunately after saving, closing and opening the file the cells only show #NAME? in it. Do I have to activate macros or something like that?
I am using PrimoPDF, as suggested elsewhere in the forum, to attach a PDF to an E:Mail and send it automatically, it works a treat ... however, I do have to manually intervene to click on the OK button & then again to click on YES when the filename is duplicate. I would like to automate these actions and am looking for a way to do it. It looked like the SendKeys command was perfect, but I'm not 100% sure how to do it. The PrimoPDF window is open, named as "PrimoPDF", but is not my active window, so I have put PrimoPDF.SendKeys "{Enter}"
... into the program but I am getting the error message "Run Time Error '424': Object required". Is this something to do with my code ? I am guessing that the program isn't recognising that PrimoPDF is an open & inactive window, so am I missing a prefix here or is it something more serious, like having to add a new Component or Additional Controls ?
I tried to save a macro but it doesn't work (I am inexperienced!).
What I need is to copy five columns (e.g. range C:G) and copy it in another sheet ('1' range C:G). Subsequently, I have to copy the next range of five columns available (i.e. range H:L) and copy it in the consecutive sheet (i.e. '2' range C:G), and so on.
I have a drop down lets say in cell A1. Based on what value is selected in A1, the user should see a different set of check boxes. My thought, which may not be the best way to implement this, is to have all the check boxes and depending on the value selected in A1, the check boxes that are relevant should be active or visible, while the unneeded ones are inactive or invisible.
I am creating a userform in Excel 2007 which requires a user to pick their name from a drop down box then press Ok, what i want to do is disable the Ok button until the user field has been selected.
I am after increasing the number of allowed users that can log onto a form. Currently I have used someone elses code, but that seems to only allow 1 userID to be able to log in. I am not after making the sheet into Fort Knox, just a simple UserID so I know who hasd made any changes.
Private Sub CommandButton1_Click() If txtuserid.Value = ActiveSheet. Range("b100").Value Then CPFRVinputfrm.Show Me.Hide End If If txtuserid.Value = "admin" Then CPFRVadminfrm.Show Me.Hide End If
I have a worksheet which contains START TIME in column A, then TIME USAGE in column B and END TIME in column C. User enters start time, followed by the number of time usage in minutes, how could i possibly display the end time automatically in this scenario? how do you add the entered time usage to the start time to display the end time? Say if I enter 1:00 AM at start time and 00:15 minutes on time usage, how can 1:15 AM be displayed on the end time automatically?