I have an accounting spreadsheet that is used by 25-30 people. This spreadsheet has a button the user can use to save this spreadsheet allowing the spreadsheet to save itself to a specific folder path base on the dates entered in the spreadsheet.
I have begun tracking certain items in the accounting spreadsheet and have added a section to the save macro that gathers data from the accounting spreadsheet and saves the data to a ‘Spreadsheet Stats’ spreadsheet. Since it was possible that more than one person might try saving the spreadsheet at the same time and try to open the ‘Spreadsheet Stats’ spreadsheet at the same time, I placed a loop in the macro that determines if the 'logging data' spreadsheet when opened is marked as "read-only". If the ‘Spreadsheet Stats’ spreadsheet is opened as "read-only", the macro closes the ‘Spreadsheet Stats’ spreadsheet then reopens the ‘Spreadsheet Stats’ spreadsheet again and again until opened without the "read-only" status. Code seen below.
Do Until Now() = start_time + 0.002082 Or Now() > start_time + 0.002082
Workbooks.Open Filename:= _
"G:EDCUSTSERV1_ACCTGIPL SpreadsheetsBilling SpreadsheetsData DropSpreadsheet Stats.xls"
Set WB = ActiveWorkbook
If WB.ReadOnly = False Then
Exit Do
End If
WB.Close
Loop
The macro works great, however, should a user try to save the spreadsheet and the loop happens to open and reopen the spreadsheet until the "read-only" status is gone, when the macro completes, a window pops up and alerts the user that the ‘Spreadsheet Stats’ spreadsheet is now available for editing.
My question: Is there any way to prevent that pop up window? I don’t want the user to think they need to edit the ‘Spreadsheet Stats’. Remember that the macro has completed when the popup window shows up, so Application.display alerts set to false
So I have a Workbook that I want to make read-only/protect after a certain date. I also want to force the user to have macros enabled. So far I have the following script, but despite changing it to read-only it doesn't seem to do anything. I have also tried to enable protection on the sheets after that date, but am getting errors.
I have the following code that Ger Plante very kindly helped me with which, depending on whether there is an 'x' by someone's name in a list, creates a new workbook, copies some information to it and saves it before moving on to the next 'x'. Loop Through Rows & Copy Each Row To New Workbook
For lLoop = 2 To 251 'first row of data to last row. If ws1.Cells(lLoop, 4).Value = "x" Then '4 = Column D ws1.Activate ws1.Range("e" & lLoop & ":g" & lLoop).Copy ws1.Range("B1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True Rng1.Copy Workbooks.Add ActiveSheet.Range("A1").Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, SkipBlanks:=False, Transpose:=False ActiveSheet.Range("A1").Select ActiveSheet.SaveAs varPath & "Student Data Files" & ActiveSheet.Range("B1") & ".xls" ActiveWorkbook.Close
Else End If
Next lLoop
how I can modify the code such that any cells in the range "b1:b504" in Sheet1 of the the new workbook can't be selected or edited without a password....I have tried unsuccessfully using Protect but am not sure how to get vba to set it to specific cells and determine exactly what is allowed in those cells.
I am trying to create a simple xy graph in Excel 2010 using dynamic source data.
I have data in three columns.
There are headings on line 2 and the data starts on line 3.
A B C 1. 2. dp ss ff 3 .1 .2 .3 4 .3 .4 .4 5 .4 .8 .7 6 .1 .6 .8 7 .3 .5 .1 8 .5 .4 .4
I want to create an XY chart with C3 to C8 as the X axis (or dynamic to what ever the last data point is) with A3 to A8 as the Y axis (or dynamic to what ever the last data point is).
I have Defined names for C3 to C8 (myXvalues) and A3 to A8 (myYvalues).
I have created a simple XY graph and selected the ranges as normal.
This is =DATA(,Data!$C$3:$C$9,Data!$A$3:$A$9,1)
The page is named DATA
What I am trying to do now is to edit this range to make the range dynamic.Unfortunately I get error messages which ever way I try to edit the range.
I have an extensive application which I wrote using Excel 2002 (XP - Version 10). However it will likely be used on anything ranging from 2003 - 1997. When I tested it using Excel 97 it gave me the traditional [annoying] message asking if I was sure I wanted to save it under an earlier version than which it was created.
I want to get rid of this message (a lot of my users aren't the most computer literate and the more annoying messages I can avoid the better!) I tried using:
Application.DisplayAlerts = False
but it doesn't affect this particular message. I need to know how to keep this message from popping up. Please Help.
Under 97 (NOT on my 2002) it also gives a "Do you want to save the changes" message upon closing even though the "DisplayAlerts" is set to false. I'm not sure why this is still coming up.
When I open an excel file it asks if Id like to update the links to other data sources. I would like to say no everytime, does anyone know the VB to avoid the popup?
I have a spreadsheet with a number of fields on it which must be filled in before the file can be saved, and if the user attempts to close the spreadsheet without filling in the required fields, I want a message box to appear asking for confirmation that the user wishes to quit, if yes, the sheet exits, if no, the sheet remains open
What is this error message that is popping up when I try to insert a blank row of cells?
"To prevent possible loss of data, Excel cannot shift nonblank cells off of the worksheet. Select another location in which to insert new cells, or delete data from the end of your worksheet.
If you do not have data in cells that can be shifted off the worksheet, you can reset which cells Excel considers nonblank. To do this, press CTRL + End to locate the last nonblank cell on the worksheet. Delete this cell and all cells between it and the last row and column of your data then save."
This excel document we have has LARGE amounts of data
I made the mistake of creating hyperlinks to files on a server (using the \SERVERNAME convention) without using the "hyperlink base" option.
I've been sufficiently chastened, but the present problem is that I have many such hyperlinks that are now worthless because, when saved, they point to "../../[foldername1]/[foldername2]/[filename]", etc.
Need macro that would replace the first five characters ("../..") of all the hyperlinks on my sheet with //[MYSERVERNAME] ?
So I am attempting to run a macro that contains some if then statements that will change the text in a cell given certain circumstances. I am having an issue specifying the range in that it begins in cell A2 and it goes to the last data cell in the sheet and no farther. The issue with just selecting a whole column is that if the a cell is blank, it fills it in with no and it leaves me with 65,xxx nos in column A. Attached is the workbook with the sheet the code would be executed on and hopefully what the solution would look like. Also i have attached the troublesome macro I have written.
Whats the key in editing macros to know that you are not getting compile errors and how do you know when your in VBA which statements are repetitive? Do you always go by the macro recorder?
I have imported values from another program. Imported values are in 000:00 form (000 for hours and 00 for minutes). If there is less than 100 hours the value is still not treated as [h]:mm. For example:
I have two CSV files that I would like to edit through Excel VBA. Both files have too many lines to be shown in Excel though, so I can't just use cell rerences. Every so many lines I want to delete a row and insert a row from one CSV file to the other. I could easily write a loop do this with cell references, but since all the lines aren't shown I can't do that. I have no idea how to reference all the rows in the CSV file with VBA when most of them aren't viewable on the worksheet.
I have 150 or so workbooks. Each of them are in the same format. I need to edit this format. Bolding, Borders ect. I know you can do this with multiple worksheets but how can do do with with multiple workbooks?
I am trying to create an asset management database using excel, and would like to be able to add custom notes to each entry (index) so as time goes on, I can refresh my memory what we have done with a particular item. I have attached the current file I have created.
Essentially, when I use the GREEN drop down menu in the top right, I want it to display the notes/comments that I enter in the rightmost column of the data, as the attached file illustrates.
However, I want to be able to hide that rightmost column and be able to edit the data from the new area (white space) it is being displayed in, however as I have it set up right now, if I edit the cell, it edits the forumla and poof goes all the comments and the formula becomes messed up.
I have a table on sheet 2 consisting of 120 rows and 8 columns, on sheet 1 I have a combo box and have used INDEX to display the values for each row that I select. what I want to be able to do is edit the INDEX data on sheet 1 and then have a button that will replace the old value in the table on sheet 2 with the new value.
Currently We enclosed a Workbook (with exiting VBA code) In this workbook 3 sheet exit (Edit, Details, Summary)
In Details Sheet store Detail Entry of Invoice & in Summary Sheet we store all generated Invoice details in summary form
We want new VBA or correction in existing VBA.
My Exiting VBA work following..
When Enter Invoice Number in Edit Sheet (Cell B2) then Display Entered Invoice Data
First Code Find Invoice Number in Summery Sheet if Invoice Number found then Record Display of Selected Invoice
Here we Edit As per our requirement then We Press Y in Edit Sheet Cell C30
If Found C30 "Y" & "Data ok" in E30 then DELETE Selected Invoice Data From SUMMERY & DETAILS SHEETS & COPY THIS EDITED DATA (RANGE A33 TO G33 In Summery Sheet & Range A35 to A60 in Details Sheet)
My Exiting code work perfectly as per above
We want only following thing
Currently when we copy edited data that move to end of sheet We want to Change & same place where data exit previously before edited. Because serial number disturb.
NOTE : in Editing Time is it possible Few Item Delete or Few Item Add
I have some VBA code in an Access DB that opens an Excel spreadsheet at a specific workbook, and then performs some formatting on the sheet, before saving the changes and closing the workbook.
The first time i run the sub it works perfectly. If i then try and run it again i get a run-time error 91 message (Object variable or With Block variable not set). This happens every subsequent time i try and run the code until i manually reset.
The error message is always at the same point. Here's the I've put ***ERROR MESSAGE HERE*** at the point in the code the error seems to be occuring
I have a spreadsheet wherein the column g keeps a chronological record of actions taken on a particular issue. Each time there is a new action taken on an issue, I go to the G column of the appropriate row, position my cursor at the beginning of the text already in that field, press CTRL Return twice, Press the up arrow twice and begin typing. I always add the date first followed by a colon,(e.g. 5/4, I bold that date and then position my cursor after the colon and begin typing the update to the status.
It occurs to me that all of the steps leading up to the typing of the issue could probably be autmated in a macro.
I'm designing a custom toolbar in VBA and have managed to create a toolbar with buttons.
However, I've been battling away trying to edit the buttons images so that I can design the button image to match the nature of macro assigned to it. The problem is that if you record yourself doing it, the macro written in VBA doesn't seem to recognise the editing button actions.
Does anyone out there know of a way to custom edit a button image in VBA?
I recently added two excel files to my startup, I receive the file in use error that the personal.xls is locked for editing box when the second file starts to execute. I can open them separately using their icons with no problem, what's the problem with opening them using the startup function. XP professional version 2002 SP2.
Examples: This is the userform with the 'No Answer' boxes added into the user interface but not added to the code - this one doesn't crash excel: [url]
and this is the userform with the 'No Answer' boxes added into the code - this one will crash excel (but only when you open it directly from excel, it doesn't crash it if you test it out from vb): [url]
I have 5 columns Data sheet in Excel and >5000 Rows. Time to time I have to change data parameter of some certain item (complete Row). I want to Database form (Userform) which can add new item, find and can modify, or delete from sheet. I Shown userform format in attachment without macro
I am attempting to print each letter of a string in a specified cell individually in different cells. For example, if I input the word "Hello" in cell B1, it would automatically print "H" in A1, "e" in A2, "l" in A3, etc.
I currently have this;
VB:
Private Sub Worksheet_Change(ByVal Target As Range) Dim Count As Integer Dim Explosion As Integer Dim Kaboom Dim EndCounter As Integer Dim StrTarg Dim PLV
[Code]...
However, it does not seem to loop. It simply prints the first letter of the string inputed (In cell K3 in my case), into cell A1, and then stops. Surely it should continue to loop around untill Count is equal to the length of the string in K2.
I have a spreadsheet sent in an email. When I open it there is a warning bar saying
"Protected View This file originated from an Internet location and might be unsafe. Click for more details." then a button with Enable Editing.
I click the button and can edit the spreadsheet and save my changes. But the next time I open the file I get the same warning again. What is the way to designate that this spreadsheet is safe and prevent the warning recurring whenever I open the file?
Is there a way to SET a RANGE that can be used for further editing without the need to specify the range each time for each function to be perfomed? I have a pile of Data, with a Calendar date and 4 columns of data for each date.
I want to make a summary for each year separately of one column of data (Total PL). How can I set a condtion that it will output a summary of data for a given year, e.g. 1990?
Even more useful might be setting up a table for each year, where I will be able to perform easy function like SUM, MAX, MIN but it will use data only from the specific Year in each row. - Is there a way to make it simpler, but not having to specify the RANGE for each Year for each Function?