VBA Code Won't Stop Users Using Spreadsheet After Certain Date?
Jul 28, 2014
The code that I'm using is supposedly not allow spreadsheet to be opened after a certain date, or does not allow a user to press any of the command buttons and comes up with a message saying the spreadsheet is closed for new entries.But is not working for me.
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 placed the code below in the ThisWorkbook section of a Service Request macro. The intention was to block users of saving the input they had just entered into the blank template. However, some continue to do it, despite the code. Obviously it is not as tight as I expected.
Does anyone know a better, tighter method, short of killing the offending user (which I am tempted to do, believe me!)?
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim LoginName As String LoginName = Environ("username") If LoginName "chuckdrago" Then If SaveAsUI = True Then Cancel = True MsgBox "Saving this form is not allowed! Print a Copy" Else ThisWorkbook.Saved = True Cancel = True MsgBox "Saving this form is not allowed! Print a Copy" End If End If End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean) ThisWorkbook.Saved = True End Sub
I have a few excel files in a common shared folder. I want to allow other users to access this folder to make changes in the worksheet but should never allow them to delete the file. How can i do this?
I have a sheet with 3 columns and I would like to have these 3 columns fit the screen so that an attractive user interface is created. I do not want to be able to scroll to blank area to the right of column C
I know nothing about Visual Basic and was trying to follow the following
Private Sub Worksheet_ Active () Me. ScrollArea = Range (Me. Used Range, Me. UsedRange (2.2) .Address End Sub
I am using Excel 2000 and I either kept getting error messages or after changing the visual basic sheet headings to worksheet and Active respectively ( two headers at top of page) the macro still failed to work.
Colo HTML does not seen to work in the visual basic window so I cannot show you the page.
I am looking at not allowing users to select the header and footer info. I don't want them to delete it. I have tried to protect the sheet and workbook but not working.
Amongst the several sheets contained in my workbook, there is one called 'Inspection Report'. Users fill in whatever data is required in the other sheets, and once they get to this one, they are supposed to enter a number from 1 to 3 into Cell X1 (which is currently selected) before they select anything else. Unfortunately, I am currently unable to stop them from doing what they should not be doing.
So, I would like to have a notification of some sort pop up into their face if they click or move the selection anywhere else while Cell X1 is still empty. Something like a validation would be nice.
We have a place where all our documents are stored. We have a log where we all log in what we're working on. Our trouble is, if one person has it opened nobody else can add their items to it. Is there anyway to have multiple people be able to open and enter their work for the day, save and close it out?
I've created a model that uses an add-in to calculate otherwise cumbersome formulas, and 4 or so people need to access this model at any given time. It's saved (along with the add-in) in a public folder on our network drive. Everyone is able to access the model, and is able to load the add-in directly from that folder, but the cells that use the add-in point to where the add-in is stored locally on my drive (C:Documents and SettingsmeApplication DataMicrosoftAddIns) and thus they are not able to use the add-in functions without redirecting every reference to me with references to their add-ins (basically just by finding and replacing every 'me' with 'them' in those cells at this point). So I guess what I'm wondering is how do I make it so the add-in is 'universal' (instead of local) such that as long as each user has the add-in loaded they can fire up the model and use the needed functions.
I've written a spreadsheet for others to use, protected it (except for cells where data input is required). Almost like an App for sales people to prepare quotes. I want it to appear fullscreen only with formula bars and headings permanently hidden so feels the experience for the User is similar to an App.
Is there a way to disallow users from using fromulas in a spreadsheet? I have an issue in which users are using formulas to concat data as a shortcut to typing in data but they are constantly referencing the incorrect cells.
I have a speadsheet, and at the moment, another spreadsheet access it via a vb code. but i have 3 - 5 agents needing it sometimes at the same time. All that happens, is the agents excel sheet passes some info to the server sheet, so the vb codes opens and closes it. So only one person can do it at the same time.. but i need this so anyone of the agents can enter info via the vb code.
When i tested it, it asked me when i opened it, if i wanted to save what the last person did, I need that not to come up, so really its like the sheet is always open, but not... and lines are added. The info is added to the same sheet, and line by line.
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.
I am making a spreadsheet that allows users to select items from a validated data list. Each item in the list has a numeric value in an adjacent column. When the user is entering data they will select from a drop down of the data list in column "A" and I would like to have the numeric value that corresponds with their selection to then autofill in column "B". I have tried VLOOKUP and IF formulas but cannot seem to get anything to work.
I have a spreadsheet gathering information on vehicles. One of the pieces of information is a 'Date Off Strength'. For the vehicles still on strength I have the symbol '#N/A' showing,, this is linked to a sheet using a VLOOKUP formula, is there a way to stop this symbol showing
Is it possible to stop the #REF! error appearing in my formulae when I make a change to my spreadsheet? I have some complicated spreadsheets that take a lot of re-building whenever I need to make changes because of the #REF! error. I tried turning off automatic calculation and that seems to work, until you calculate, then the errors appear. I find myself copying formulae into a text file and then re-pasting back into the spreadsheet after making the changes - there's gotta be a better way! (Using Excel 2003).
I have a file I created which works fine for me, on my machine at least but there are two issues I'm trying to sort out.
The first issue is I need to share the file with others who may not have the same access rights. I have something loading in the Workbook_Open event which I want to bypass for users who do not have access to a specific folder. So I was trying to check their access using Dir(path) = "" at the top level folder to see if any files are present (which there are). My assumption was that if it finds files it's safe to assume they have permission and it's ok to continue, otherwise they don't in which case I want abort the rest of the code. This seems to work fine for me but I tried testing with someone I know does not have access and it gave her a compile error.
Part of the code in macro utilizes FileSystemObject which seems to be the line where the code bombs on my coworkers machine. The FSO seems related to appears related to the Microsoft Scripting Runtime reference, but it's not enabled on my machine or any of the others. I vaguely remember having to do something on my machine awhile back for the life of me don't remember what it was.
The second issue is an MS Forms error: "Could not load some objects because they are not available on this machine." appears when opening the file on three of the machines I tested but it does not appear on my machine. I've tried looking at the references and could not find any differences between the machines. I pored through various postings online and it appears it might be worth re-registering the DLL/OCX files but we need admin rights to do that so I will need to open a request with our support team.
Modify Macro3 and use the InputBox function twice so that Macro3 would ask the user for a particular month and a particular year; and then Macro3 uses these user’s inputs to create the calendar template for that month of the year. For example, if the user enters February for the month and 2012 for the year, Macro3 would create a new
I am working with a class module and some fields require specific inputs that another coder may not intuitively know. How can I create a list of acceptable conastants that will appear as a drop down when the user is coding with the custom object?
For example: I am creating an Email Engine object that will handle all my emailing needs in code, because coding emails is such a pain. Then I can just create the blasted thing, import the class module where needed and never have to worry about it again. Some coworkers are interested in using the module for their projects when I am finished. I want to put an option for message flags in the object, but only certain colored flags are allowed. How can I get the VBE to show a little drop down with the acceptable flag constants when another user types
[Object Variable].MessageFlagColor = {drop down list of options} I started with
Public Property Let MessageFlagColor(Value As Constants)
I use a code in ThisWorkbook to always open on sheet 1 when opening up the excel spreadsheet.Is there a code that I could put in to ThisWorkbook that would do a check that the workbook was e.g. "WorkbookA". If it wasn't then the start up code would be cancelled/ignored.The reason for this is that I am copying this workbook whenthe user has entered details in to it and so I do not want this code to run in the saved workbook, that will have a different name.
I have the below code (pieced together and donated by other users on the forum)
Application.Calculation = xlCalculationManual ' Application.DisplayAlerts = False Application.ScreenUpdating = False Dim Ctr As Long 'set ctr for Invoice Dim wsData, wsInv As Worksheet Dim Ibk, Rbk As Workbook
Set Ibk = Workbooks("Invoice.xls") 'Invoice as Ibk Set wsInv = Workbooks("Invoice.xls").Sheets("Invoice") Workbooks.Open Filename:="\cmc-dc01usersdcMy DocumentsProjectsRemake GoodyearRentCharge.xls" Set Rbk = Workbooks("RentCharge.xls") Set wsData = Workbooks("RentCharge.xls").Sheets("Sheet1") With wsData........
I have written a code but i can not make it stop where i want it to stop. I would like the code stop when cells(31,4).value reaches 0. Pls refer to attached sheet for a clear example.
The code is as follows
Sub production2() If Cells(35, 4).Value > 0 Then Cells(31, 4).Value = Cells(35, 4).Value For j = 5 To 16 If Cells(36, j).Value < Cells(29, 4).Value Then If Cells(31, 4).Value > Cells(29, 4).Value Then Cells(37, j).Value = Cells(29, 4).Value If Cells(36, j).Value < Cells(29, 4).Value Then Cells(37, j).Value = Cells(29, 4).Value Cells(31, 4).Value = Cells(31, 4).Value - Cells(37, j).Value Next j End If End Sub