I often have several workbooks open and shift from one to another. One of these contains a floating UserForm; and the trouble is that when I leave this workbook and shift to another one, the UserForm belonging to the first remains open and visible in the new workbook; and I cannot hide this nuisance. Within the same workbook, it’s easy to hide the Useform when shifting to another worksheet (through code for Private Sub Worksheet_Deactivate()). Is there something similar for when the whole workbook is deactivated?
I have a workbook in which certain shape objects (2 command buttons and a combobox) can be present on a worksheet if another macro has been run. When a worksheet is closed and another opened, or the workbook closed, I need the shapes to be cut if they are present. There are other shapes on the sheet which must not be deleted.
Each shape has a defined name which is the worksheet name followed by DD, GetStats and Rfrsh
I have tried the code below but get 'The item with the specified name was not found' error message if the one or more of the shapes are not present. The code works for any of the specified shapes that are present.
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Range("f5:i17").ClearContents If Not Sh.Shapes(Sh.Name & "DD") Is Nothing Then Sh.Shapes(Sh.Name & "DD").Cut If Not Sh.Shapes(Sh.Name & "GetStats") Is Nothing Then Sh.Shapes(Sh.Name & "GetStats").Cut If Not Sh.Shapes(Sh.Name & "Rfrsh") Is Nothing Then Sh.Shapes(Sh.Name & "Rfrsh").Cut
End Sub
I am sure I am not using the 'If Not' and 'Is Nothing' properly but can't figure out how it should be.
I have a userform on a worksheet. Now, I open anothe workbook, the userform still stays on top of all the workbooks. However, if I open a new workbook(new instance of excel), then it does not show. I need the userform to be a part of the excel which I open. not for all workbooks.
Few comments before I complete: This was working as intended. All of a sudden, I messed up with the code and it burnt out. Secondly, the ShowModel of userform is set to False as I need to hide the workbook when userform opens. Hence, I cannot set that to true.
What I would like to do is to be able to open a second workbook from a user form, preform some work on it then save and come back to the same place in the original user form.
So in steps:
1 : user clicks command button to open user form 2: user then clicks on command button on userform that opens 2nd workbook via a yes / no message box, but closes userform on 1st workbook (would be ideal if this could stay open, but hidden) 3: user then does work on 2nd workbook, 4: userform on 2nd workbook saves then activates the 1st workbook and reopens the userform
This is where no matter what I try I cant get the command button on the 1st userform to be clicked automatically so the yes / no message box appears.
This is part of the code in the 2nd sheet commandbutton that saves / closes / opens
Code: Unload Me ActiveWorkbook.save Windows("ABC.xlsm").Activate Sheets("Request Sheet").Activate Call Sheets("Request Sheet").ForceClickOnBouttonXYZ Call UserForm1.CommandButton6_Click 'this is where I cant get it to work!! Windows("xyz.xlsm").Close ABC is the 1st workbook xyz is the 2nd workbook
This is the code on the 1st workbook I use to call on the 2nd workbook
Code: Public Sub ForceClickOnBouttonXYZ() Call CommandButton1_Click End Sub
What's the best way to hide controls on a userform? I have a userfrom with 2 datepicker one for start date and one for end date. I want them hidden until I use checkbox and check it to appear. I am using this code but nothing is work.
I bet you're getting sick of the "X" questions, and I have done an exhaustive search but the search filter kills searching for (X) or 'X' or "X" .. but nothing I did find is what I am looking to do. I have any # of userforms that when you click the "X" in the top right side, it will hide the userform... once.. Is there a fix to the code below to make it do it every time its clicked?
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode <> 1 Then Cancel = 1 UserForm15.Hide UserForm11.Show If CloseMode = 1 Then Cancel = 1 UserForm15.Hide UserForm11.Show End Sub
Like I said, I don't want to disable it, I tried that off of one of the posts I found and thats just plain annoying, I just want it to hide the one userform and show the other. This will do it once and then you can click it all you want and it wont do anything.. see the annoying trait above.. this lasts until you exit the program.. so the X button can be hit repeatedly though out the day. The userform 15 is visible, userform 11 isn't shown, IE not behind userform 15.
how to creat a userform with a button (1) to show anouther userform with a button (2). you click the button on 1 and it shows 2. then when you click the button on 2 and it shows 1. I'm having a problem with the second part.
what VBA is required to have a combo box in a userform look up data in a different workbook, then populate that data into the drop down list of that combo box for a user to select.
I have managed to successfully create a vlookup for a combo box in a userform that looks up data in a named range in another worksheet within the same workbook and then populate that data into a field in a worksheet within the same workbook. However, I want to change this so the combo box on a userform (in one workbook) will look up data from a named range in a second workbook without opening the second workbook. At the moment, the code I have that will 'submit' the user selected data from the combo box drop down list works.
The code that has worked so far to vlookup data for the combo box from a worksheet within the same workbook is:
Code: Private Sub UserForm_Initialize() Dim pName As Range Dim ws As WorksheetSet ws = Worksheets("vlookupsheet") For Each pName In ws.Range("ProjectName") With Me.cboProjectName .AddItem pName.Value End WithNext pName Me.cboProjectName.SetFocus End Sub
Do I need specify the file path of the second workbook that will contain the data for the combo box as well as the name of the worksheet and named range in that second workbook?
I have got a Useform. I want on Sheet1 when i click on Userform button to open it ; then excel application should be hide and only userform should be show.
I created a Userform on top of an excel files. The userform uses data contained in the excel file. When my users open this file, I would like them to only see the userform and not the excel file in the background. I have tried the following but it prevents the userform from working.
Private Sub Workbook_Open() ThisWorkbook.Windows(1).Visible = False UserForm1.Show End Sub
Private Sub Workbook_Open() Application.Visible = False UserForm1.Show End Sub
I need some code that will do the following in a UserForm:
If option1 is selected = textbox1 is visible, textbox2/combo1 is hidden If option2 is selected = textbox2 is visible, textbox1/combo1 is hidden If option3 is selected = combobox1 is visible, textbox1/textbox2 is hidden
I have created userform and it works fine. Following code assigned to 'SUBMIT' button in userform - works fine. I am trying to include code where certain data from userform is also copied to workbook2 ( of course without opening it)- as marked in red...below
i have been trying to hide the userform from the workbook open event with no luck
Private Sub Workbook_Open() ufmTheEstimator.Show Dim Worksheet As Excel.Worksheet If Me.Worksheets("Main Roof"). Name = True Then ufmTheEstimator.Hide End If End Sub
I'm trying to do is set up a form load event to initlize some controls. Here is my
Private Sub Form_Load() 'Initialize the form lblProcessing.Visible = False txtFileName.Text = "Enter a file name" End Sub
At the moment, this event is not triggering. I have the code in the code behind my form - should it be in a module? PS: This site is great - it's answered a lot of my other questions so far without me having to make any posts.
I have a workbook ("Time") that when opened displays a userform. I also have another workbook ("Master") that opens the "Time" workbook to retrieve information. Is there a way to use the Master workbook to open the Time workbook WITHOUT displaying the userform.
I have a fairly elaborate close-down routine for my workbook.
1) Quit out of fullscreen (restore initial state of excel before saving) 2) Hide all sheets but one (enforces cant do anything unless macros enabled) 3) Automatically save without a prompt 4) Close the workbook
I've researched it well and implemented it to the point where it works, but only if the user clicks the excel application close button -- the "X" in the titlebar (hence not in fullscreen).
However, if I launch the process via a userform button click, then for some reason the DisplayFullscreen = False, Sheets hiding, and save codes have no effect (fullscreen persists, sheets are not hidden, no file is saved) in the Workbook_BeforeClose() subroutine....
I repeat: all the above works fine if process was launched by "native" excel button, but does not have any effect if launched from a userform commandbutton. (?!?!) any ideas what's going on?
I'm including my code so you can get an idea how it's structured.... by it's pretty "by the forum" as far as I can tell...
Private Sub CloseButton_Click() If(1) Then 'Method 1 - close directly from userform command button With ThisWorkbook '.RunAutoMacros (xlAutoClose) .Close End With Else 'Method 2 - set a timer to call a function to perform ' "ThisWorkbook.close" in a function outside of the userform CustMenuCloseTimer = Now + TimeSerial(0, 0, 2) Application .OnTime CustMenuCloseTimer, "CustMenu_CloseAction" End If
I just attended the Excel Seminar and learned so much! I found out that Hiding a workbook will solve a huge issue I am having with a file popping up everytime I run a macro.
I"ve searched the blogs but can't find the answer. I found some information on how to hide sheets, but I can't find anything on how to hide an entire workbook
I went into the visual basic editor and can't find what I am looking for. Does hiding all the sheets actually hide the entire workbook, or is there a way to hide the workbook?
We're trying to create an invoicing sheet with MS excel for our sub contractors but we also want the information they input to be transfered onto a second work sheet within the work book that has our mark up added.
Problem is that we don't want our sub contractors to see the sheet with the mark up. Is there any way to hide a work sheet or to limit access to the work sheets some one can veiw with in a workbook?
My goal is to be able to hide certain columns in the workbook based upon certain criteria. Moreover, I need to be able to hide columns in a certain tab even if I working in a different tab (i.e. if I am in Tab "A", I want to be able to hit "Ctrl + Alt + X" and be able to hide columns in Tab "B").
In order to accomplish this, I selected the Visual Basic icon. I then clicked on the "Insert" drop down menu and selected "Module". I have included a sample of the code that I wrote and inserted in to the module (see below). This general pattern of code repeats itself for 16 different macros - all in this same module.
I ONLY want to show the status bar, worksheet tabs, horizontal and vertical scroll bars. I've tried using the code below but the column and row headings will not show on the first sheet i bring up, but it reappears on other sheets. everything else works fine ....
there is no direct method to access the Properties/Methods of a remote userform and its controls at runtime..... I needed this in a small project recently and I thought I would post here the solution I came up with as this may prove useful to others.
1- Code in the UserForm Module in Workbook A (Server workbook)
Code: Option Explicit Private Declare Function SetProp Lib "user32" Alias "SetPropA" _ (ByVal hwnd As Long, ByVal lpString As String, ByVal hData As Long) As Long Private Declare Function RemoveProp Lib "user32" Alias "RemovePropA" _ (ByVal hwnd As Long, ByVal lpString As String) As Long
[code]....
This also works for more than one loaded userform.
I've stored all my on-line passwords (about 50 of them) in one sheet in an Excel workbook. I want to protect it so that if somebody somehow got access to it, they couldn't see the sheet, much less change anything.
I tried Tools/Protection/Protect Sheet and Tools/Protection/Protect Workbook, using a secret password. Then, nobody could change the data -- but they could still see it.
So then I hid the columns first, and then protected the sheet -- which did the trick. But that seems pretty cumbersome, because it involves two steps for me to open it up (unprotecting and then unhiding).
Is there a way to protect/hide in just one step so my sheet of passwords can't be seen by an intruder?
I created a workbook called "controlelijst.xls" using Excell 2007. In this workbook i created a sheet that i use as a template, it has conditional formatting all over it. That in fact is not the problem. I copy this template for every new issue i have.
The thing i would like to see happening now is when i enter the value "Y" in cell O10 that the active sheet on wich the value is entered becomes hidden. Because the reason for setting this value is that all conditions are met on this sheet and it does not have to be visible anymore unless i unhide it.
I have a workbook that I edit daily then pass along to another team. All of my modules are passwork protected and there are also several sheets in the workbook that I hide before email it to the other team. I hide the sheets by changing the sheet properties in the VBA editor to "2 - xlSheetveryhidden".
This isn't a very time consuming process but I am wondering if there is a way to automate it through VBA?
I tried the the fail safe of "see what happens when I record it" but all I got was an empty Module.
I have a workbook that I created as an interface for my workplace. I disabled the File, Menu, Edit, etc...menu bars through .Control("x").Visible = False and .Enable = False as well
Now when I open a new workbook all the menus are there still which is good but when I open a previously saved workbook all the menus are missing. Is there a way where I can have ONLY my workbook have the menus gone and for them to appear in other workbooks that were saved?