Force Specified Sheet To Display When Workbook Opens
Jun 11, 2013
I need to set the "Sheet1" to be the sheet that always displays first, regardless of what sheet was active when last saved.
The reason is that I have a sheet with instructions on it as how to use the Workbook, including "You must Enable Macros" etc. When Macros are enabled, it's all good, as most people use a USERFORM which I have coded to set "Sheet1".Select and save their work upon closing using the USERFORM.
BUT when the advanced users modify other Sheets directly without using the USERFORM, and "SAVE" and then "Close" , the next time a user opens the Workbook (If they do not enable Macros) it opens to the sheet the advanced user Saved on. Thus killing my instructions page and putting the exact people I did not want messing around on certain sheets, on those sheets, fully bypassing the USERFORM created to avoid the problem.
I can force the workbook to switch to "Sheet1" and Save and Close, every time someone closes or EXITs, BUT I quickly realized when testing that any mistakes made are then permanent because you cant EXIT without Saving.
So. Is there a setting somewhere (Not Requiring Enabled Macros) to force a Workbook to ALWAYS open "Sheet1" first, regardless of what Sheet was last saved in the Workbook?
I have a worksheet and for data validation, i do have a dropdown. This is working fine.
I am now trying to create a userform. And I feel for data integrity, I should be using a listbox on the form as well.
I have found examples of different ways to load the list, so I don't think this part will be an issue. But what I cannot find, is if the worksheet row currently has a value (say it is the third item on the list), how do I show THAT on my form?
Example, say we have a list of 10 cities. Orlando Tampa San Francisco London Athens Paris Chicago Cairo Seattle Atlanta
My wordsheet has the rows populated with the cutomers favorite city to visit. For John Doe (row3) in column 5 is the city "San Francisco"
When I use my nav keys, how would I "stuff" San Francicso in to the display and still have it able to select a different city?
How do I run this I can not get it to work I keep getting errors this is the way I have it for now.
Private Sub ThisWorkbook_Open() MY_MONTH = Month(Now()) + 5 With Sheets("Master List") .Unprotect ("123") .Columns("A").Locked = False .Columns("A").Hidden = True .Columns("T:IV").Hidden = True .Rows("265:65536").Hidden = True .Columns("E:Q").Locked = False .Columns("E:Q").Hidden = True .Columns(MY_MONTH).Hidden = False .Columns(MY_MONTH - 1).Hidden = False .Columns(MY_MONTH - 1).Locked = True Dim ws As Worksheet For Each ws In Sheets([{"JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC","2008","Read Me","Record"}]) With ws .Protect ("123") End With Next End Sub Compile error: Expected End With
I have created a form that has two textboxes on. It is used to edit existing data that is selected by a combobox on the same form.
Is there a way to force the textboxes to show scroll bars if the text exceeds the textbox height or just have them always shown?
It is difficult to distinguish on some of the data whether the data goes beyond what is visible. Without actually clicking into that textbox the scroll bars will not show.
My workbooks contains 2 worksheets with data and autofilters on for each column in use.
When my workbook opens I am trying to reset the autofilters of each worksheet in the workbook and to filter the data according to one criteria in one column.
This is what I have that works to reset each worksheet but I haven't been able to figure out how to subsequently filter each worksheet.
Private Sub Workbook_Open() Application.ScreenUpdating = False For Each w In Worksheets w.Unprotect If w.FilterMode Then w.ShowAllData w.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _ , AllowFiltering:=True Next w Application.ScreenUpdating = True End Sub
The autofilter sits in A3 to N3 and I am trying to filter according to column M (i.e. 13th column)
I've created an add-in that runs a simple macro. The problem I have is that when I run the add-in it opens the workbook I originally created it from - is this what I should expect it to do? How do I stop this from happening?
Also, do I need to have the workbook from which I created the add in located in the same place on every machine I want to use the add in on? At the moment if I move the original workbook the add-in won't work.
I have a workbook on a share drive that is used by multiple people. In the event that someone leaves the workbook open after using it, I have a timer function that pops up a splash screen after 4 minutes of inactivity which states, "This workbook will close in 1 minute if there is no further activity". If there is no further activity in that minute, the workbook closes.
The code works fine...unless the workbook is manually closed in that minute between the splash screen and when the timer would have closed the workbook. If that happens, the workbook closes normally and then briefly reopens and closes a minute later when the timer would have closed the workbook. Is there any code to prevent this?
I have the following code in a module that I would like to initiate when the workbook opens:
Code: Private Declare Function GetComputerName Lib "kernel32" _ Alias "GetComputerNameA" ( _ ByVal lpBuffer As String, _ ByRef nSize As Long) As Long
Public Property Get ComputerName() As String
[Code] ........
In a worksheet, I have =compname() in cell A1 and =hdserialnumber() in A2. What is the trick to make the values in these cells appear as soon as the worksheet opens?
I have written a very basic Macro code to retrieve a photo off of my server. I want it to run this macro when a person has selected a certain item off of a drop down list. The problem I am having is that when I try and run the macro manually or when the workbook opens I get a an error message that reads "Compile Error: Invalid outside procedure". I click "Okay" and it highlights this portion of the code
I have a workbook where the sheets are all protected and I want to stop users scrolling up or across beyond the limits of the input areas. I have used the following code (or variations of)...
Private Sub Worksheet_Activate() Me.ScrollArea = "A1:G32" End Sub
This works fine except that when I first open the workbook, the first sheet displayed can still be scrolled. As soon as you move to another sheet and then back again, it is then OK.
It appears that the Worksheet_Activate code does not execute when the workbook is first opened.
I am trying to find a way to automatically do a query and dump the data into a sheet when a previously created workbook is open. I know how to get the data (use the Tools, Import External Data option to retrieve data from Access) but what I don't know is how to make it do it automatically when the workbook is open.
I have a work book that contains 10sheets. considering one as main sheet remaning as sub sheets. I want to open main sheet from all other remaining sheets using a common button.when I tried normally is shows compile error: Ambiguous name detected. Any other way to solve it.
I have a problem, where every time I close or open any workbook, Excel prompts me to "Enable or Disable Macros" in one particular workbook, wether I have tried to open it or not. In the said workbook, I have a macro that automatically updates a pivot table upon selecting the worksheet where the pivot table resides.
The code for it is as follows:
Sub UpdateIt() Dim iP As Integer Application.DisplayAlerts = False For iP = 1 To ActiveSheet.PivotTables.Count ActiveSheet.PivotTables(iP).RefreshTable Next Application.DisplayAlerts = True End Sub
Private Sub Worksheet_Activate() Call UpdateIt End Sub
There is something in the code that calls UpdateIt any time a workbook is opened, closed or selected.
I am trying exactly the same things stated in here Open two workbooks at the same time as stated in the other thread's answer I would love to "just use the Workbook name IF both Workbooks are in the same folder." both files are in the same folder and this is the code that I am trying to use
Private Sub Workbook_Open() Workbooks.Open ("toto1234.xls")
and it does not work any one explain me what I am doing wrong?
I'm trying to introduce some VBA code to an existing workbook that will automatically sort column A alphabetically on Sheet 2 (Summary) (excluding rows 1 & 2 as they contain headings) whenever the workbook is opened.
At the moment this code doesn't automatically run and when I run it manually I get a run-time error '91' the first time I try and when I run it for a second time (again manually) it works.
The code I've got at the moment is:
VB: 'The following code will run the sorting subroutine when the workbook is opened: Private Sub Workbook_Open() Call SortByWave End Sub 'And this subroutine will enable the autofilter functionality, clear all existing filters and then filter the data on column A: Sub SortByWave()
When I open any saved Excel file the saved file opens along with a blank workbook titled "Book 1". How can I make it so when I open any saved Excel file it only opens the file I want and not a new workbook every time?
I have a program that uses the Document Open event to display a custom form. This program is being used on about 50 computers for the past 8 years with no problems. One user has a problem now. They can open the program once and the code fires. But when the user tries to open the same file a second time, the "Microsoft Excel has encountered a problem and needs to close" dialog box is displayed. The document that is recovered has no vba modules and no code in the Document open event. I've uninstalled and reinstalled Office Professional. Shut down all firewalls.
I have the following macro which basiclly acts as a refresh button on a read only sheet:
Code: Sub CloseMe() Application.OnTime Now + TimeValue("00:00:05"), "OpenMe" ThisWorkbook.Close SaveChanges:=True End Sub Sub OpenMe() End Sub
The sheet is read only as it is used by many people and it prevents them damaging the sheet. The sheet is updated regularly and as many people who use the sheet have little excel knowledge a refresh button was required. The macro is attached to a button that when clicked, it closes the sheet, then reopens it meaning any updates I add to the sheet can then be seen by everyone else once they click the button - much like 'Refresh'.
So, the code above works fine. Click the button, the sheet closes, 5 seconds later reopens. However, when the sheet reopens, any other excel sheets that are open seem to be at the front and the sheet that has been 'reopened' is behind them. Is there anything I can do to make the macro not only close and reopen the sheet, but when it does reopen, bring it to the front so that it is visible straight away without having to click Window and then select the appropriate sheet?
i am working on a pivot report and it works fine so far, but the only thing i am trying to do here is when duble click on a total it opens a new sheet with the report needed but it names the sheet as sheet1 and so on (sheet2,3,4...)
is there a way when i duble click a total it automaticly names the sheet for me?
I currently have the following code that copies a range opens notepad pastes the range opens save dialog and types the file name. The problem I have is with overwriting the existing file.
I have this workbook that has around 12-15 worksheets. At present there is a formula that takes a arugument called "Calc". now it is set to automatic recalculate in the prefereneces. so whenever i change a sheet i have to then go to another sheet to where the calc field resides and just change the number to any number other then zero and immediately it calculates all the sheets in the workbook.
So now,I want to recalculate only one sheet at a time instead of all the sheets and also dont want to depend on the calc field of another sheet. So i made the preferences to manual and checked the box that says 'recalculte on save'. and also in the function gets () im replacling the calc to '6'. And for each sheet in vba- i wrote:
Private Sub Worksheet_Change(ByVal Target As Excel. Range) ActiveSheet.Calculate End Sub
But when i do alt+s to save it just saves but does not recalculate. how do i make it recalculate when it saves..
I've created a UserForm which the user exclusively uses to interact with a workbook.
The problem is, if the user opens another workbook, it will open in the same Excel "Process" or "Instance" and the user would have to close the UserForm in order to use the other workbook they opened.
In VBA or some obscure application setting, is there a way to force workbooks to open in a new Excel Process (or new "Instance" of Excel)?
Another possibility would be to code something in the UserForm workbook that, on Workbook Open, would start a new separate Excel process....if that's even possible (can VBA execute a system shortcut or system command string?).
I have an auto_open macro in my workbook that sets the workbook to FullScreen. However, it also makes existing open workbooks fullscreen. Is there some way that I can leave the previously open workbooks not fullscreen (i.e. so the toolbars are still visible)?
I'm posting a workbook on our network that I want to enable users to go in and update. I have the workbook designed, with entry fields for the data they need to enter, and they then push "Submit" to submit the new data to a hidden tracking log within the workbook.
Many of the users will be complete Excel newbies, and although I haven't posted the workbook yet, I am trying to anticipate possible issues. The first that comes to mind is that the user opening the workbook may not have macros enabled in their version of Excel, and they will get a message, and can't perform the udpate. Is there a way to add a Workbook Open event that automatically enable macros in the workbook when they open it, even if it is for this workbook only?
I have multiple buyers that use an Excel workbook containing several macros to perform edits on other workbooks they receive via email. Generally, they have the workbook containing the macros open, and they can double-click the workbooks they receive in the email messages to open them, and the macros are available from the "master" workbook.
Recently, however, some of the buyers have been getting new computers running Windows 8 and Office 10. Now when they have the "master" workbook open, and double-click the attached workbook in an email, (Outlook 10), the new workbook opens in a new instance of Excel, and as a result the macros are not available to run on the newly opened workbook.
The work around has been to right-click the attachment and save it to their desktop, and then use the File/Open command from the "master" to open the new file. This is a hassle and takes extra time.
I'm sure I am overlooking a setting somewhere that tells Excel to always open new workbooks using the same instance of Excel, (there are two people using the new systems that aren't having problems, and two that are), but for the life of me I can't find where to set these parameters.