Use PropertyGrid Type Control On UserForm?
May 29, 2014I would like to use a PropertyGrid type control on my UserForm. Is there an effective way to wrap this control and create an add-in to use in VBA?
View 1 RepliesI would like to use a PropertyGrid type control on my UserForm. Is there an effective way to wrap this control and create an add-in to use in VBA?
View 1 RepliesI have a macro that I found somewhere on the net to look within a folder and list all the files of a certain file extension.
The macro to do this is in the attached example and is called 'Get_File_Names_Within_Dir_ext'.
I have created a basic userform outline, 'UF1' for the user to define:
Select File Extension
Select Folder to Search
Destination Sheet
I just don't have any idea how to sync the two.
If you type 'exe' into 'TB1_File_Extension' of 'UF1' the macro should search for '*.exe' files within the specified folder.
The search folder 'RefEdit1' box should open a windows explorer box (or some such) so that the user can select the directory in which to search for the previously specified file extension.
'TB2_Destination_Sheet' is a text box for the user to type the sheet within the workbook in which to list the files found within the specified directory.
'CB1_Find_Files' should activate the macro to find any files for the specified criteria.
There is also a Button 'Find File Types' in Sheet1 of the file which should activate the userform 'UF1'.
This is weird - if you delete a sheet that contained a control then
a. showing a modeless userform resluts in a userofrm that goes invisible at subroutine End
b. public variables lose their value
These things do not happen if the sheet did not contain a control. Attached is an example file - put the inputfile.xls in your default file location (or add a path in the code) then open the ProblemDemo.xls and run the main macro to see it fal - isthis another Excelbug I've found?
I have several non-modal userforms in my App, some of them have date-fields that require manual entry typing of dd/mm/yy etc (No single userform has more than one date-box in it, this I think may be pivotally useful)
Now the Userform 'Calendar' that is built on the class of the same (cCalendar) name, has the write value line 'ActiveCell.value = theCal.value'
I'm looking to change this to refer to the correct userform.Textbox value, depending on which form is open.
I would imagine I could simply have a global string, whose value is set (or re-set) whenever a Userform is initialized (some sort of 'ActiveUF.value = Me.Name), where I get lost is referring to the components by name, so as to have a case statement by where I go:
Code:
Private Sub theCal_AfterUpdate()
Select Case ActiveUF
Case "AddForm"
application.vbe.components("AddForm").controls("AddFormDatePicker").value = theCal.value
Case "EditForm"
'.... etc
end select
end sub
better way of doing this (instead of passing around the userform name as a variable) - or proper syntax for referring to controls outside of the 'active' userform (but an open userform nonetheless)?
Every time I have to do this particular thing with userforms, I completely forget how, and the object browser always leads me on an infinite loop of Application.vbe.activevbproject.vbcomponents.vbe.active....
PS - there may be one slight complication to the process - one of the forms, has a 2-tab page in it, each page having similar (but named differently) fields. So I may need to be able to throw in 'Activepage' or whatnot
why is this giving me a type mismatch error?
Sub loadMenu(menu As UserForm)
Load menu
menu.Show
End Sub
I am trying to capture with Worksheet Change a command bar action like paste but I am getting an error :
“User-Defined type not defined”
Do I need a library of sort in References ??
Public Sub Right_Click()
Dim oControl As CommandBarControl
For Each oControl In CommandBars("Cell").Controls
Debug.Print oControl.Caption
If oControl.Caption = "&Paste" Then
oControl.OnAction = "MyPaste"
End If
Next oControl
End Sub
I have the following code, but I get a error message "13 Type Mismatch".
I need to add up all the values for text boxes named Total1-10 and return the result into textbox Subttl as a $0.00 format.
[CODE]
Private Sub Total1_change()
Subttl.Value = Format((CInt(Total1.Value) + CInt(Total2.Value)), "$#,##0.00")
End Sub
Private Sub Total2_change()
Subttl.Value = Format((CInt(Total1.Value) + CInt(Total2.Value)), "$#,##0.00")
End Sub
I have made a simple procedure (which will extend to make something that I have to make but for time being) it asks user to select a chart type in a userform using option buttons and then the chosen chart type is taken as the chart type and makes the chart.
problem is that the typechart - variable to identify the chosen chart type - is not being recognised. Here's the coding, the variable is not passed (in yellow bolded) from one procedure to another?
Private Sub NextButton_Click()
Call ShowType
If bFlag = False Then
MsgBox "Not Selected"
Call ShowType
Else
Call MakeChart
End If
End Sub
In reference to my other topci here: Userform Error
In this workbook I have successfully made it act like a userform calculator, the user does not ever see the actual sheets in the workbook, their only interface is the Userform calculator I created.
This is exactly how I want it, they do not need to see the sheets, nor do I want them to.
This leads me only to my next problem... Some of the users obviously wont have Macros automatically enabled, what I am wondering is, is there a way to put the normal "Enable Macros" button which appears along the top of a macro containing workbook when opened, I want to put this button into a userform like display without showing the workbook at all.
So here the process I envision:
1. User double clicks the file
2. It opens and automatically goes invisable (like it does already)
3. If the user does not have macro enabled, a userform like box appears and says "Please enable Marcros to user" with a button below for "Enable" and "Exit"
4. If exit is pressed excel closes
5. If enabled is pressed Macros are enabled and then they will automatically see my calculator userform like normal.
As you see, at no point do I want them to see excel or a workbook, just userforms so its not like they are using excel at all.
I have searched around the net and found a few ideas to tackle this, mainly one that has a "Prompt" workbook that shows when macros are disabled, but that is not ideal for me. However perhaps I could just edit this "prompt" code thing for my situation?
Here is the prompt sheet code I talked about:
Code:
Option Explicit
Private Sub Workbook_Open()
With Application
[Code]....
How to use:
Open an Excel workbook Select Tools/Macro/Visual Basic Editor in the VBE window, select View/Project ExplorerSelect the This Workbook module Copy and paste the code above into this ModuleNow select File/Close and Return To Microsoft Excel Don't forget to save your changes...
8. Name one of your sheets "Prompt"
I want to force my user to input a date in a userform. I have a normal Textbox and assumed i'd be able to set the properties to mean that imput had to be an integer and the format had to be "00/00/00" but I can't see how to do this.
View 9 Replies View RelatedI've a worksheet, which has formulas, links, combo list box and format control.
I've made a user form to enter the data, so that the particular cells in the worksheet is filled and the remaining cells are calculated as per the formula.The format control (combo box) has list of range.
Is it possible to bring this format control (combo box) on the user form, so that without going to the sheet, I Can control the sheet by selecting the combo box values.
I have created a simpel userform that shows sales total and it is activated [.show function] whenever an entry is made in the order column. All of this works fine.
The only problem I have is that the curser jumps in to the text box and doesn't return to the order column where next entry needs to be made.
How do you move the curser out of the userform, back to the activesheet?
Ideally it should move to the next cell for the user to make entry.
I am attaching my sample file here. It has some odd things that I was just playing around with as learning experience. But the main question is how to control the curser.
I have a userform with multiple images
I would like to set all images to visible = false when images are dynamically named.
E.g. image names:
Image73om3
Image4y45h
Image12AB2
Is there a way to say
Code:
With all images
visible = false
End With
or
Code:
image*.visible = false
I've got the bare bones of a toolbox control on my userform but I can seem to find anyway to refer to the buttons and control them (I’ve tried using the properties page but it doesn't seem to give me the options I need). I want to be able to add a macro and a picture to the buttons, is this possible?
Eg.
With Userform1.Toolbar1.button("x")
.image/picture/faceid = “x”
.action = "macro1"
end with
I've looked for ages on the board but can only find threads on creating toolbars in the application, not on userforms.
Split off from Loop Through ActiveX TextBox Controls On Worksheet. Here is a zip file with the files in it. The main one that I am working on now is PO Form.xls. I want to start with the Qty column and copy any values that are entered into the form to the file called PO.xls in the Qty column of this file.
View 2 Replies View RelatedI am trying to add a list of items to a combobox on form1 from form2 where form 1 has a variable name.
I can use:
x = UserForms(0).Name
VBA.UserForms.Add(x).show
to show a userform with a variable name but I can't get it to add anything to the combobox using this
VBA.UserForms(x).Combobox1.Additem
I am looking for Hyperlink Control or any other control that I cam add to my form. When I move mouse on it and press it open to me attachment.
View 2 Replies View RelatedThis code works fine on a normal userform But I declared the userform with "New" in my calling procedure
myForm As New form
How can I get it to work??
Or more interesting, why is it not working
Also what exactly is the advantage of using the keyword New
I have propertys set in the userform, but other than that..
Can someone tell me if the load function in this case is better or not
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub cmd_click
Call blink
End Sub
Public Sub Blink()
Dim i As Long
For i = 1 To 20
' set color
Form.cmd.BackColor = &HFFFFFF
DoEvents
Call Sleep(60)
Form.cmd.BackColor = &HFF& .....................
I am working an a userform. I want people to add records to the spreadsheet thru the UserForm ONLY, meaning that if they go straight to the spreadsheet they wont be able to edit anything.
View 1 Replies View RelatedMy final version will have more than 40 images with all the same code: they will all increment a corresponding SpinButton with 1.
[Code]....
I have a project with many textboxes on different forms. On some of the textbox_exits on some of the forms, I call a standard module that checks what the user has input. If the user needs to change the input, a msgbox appears to inform the user the info needs to be changed.
I have tried to use ControlSource, Name etc., But I cannot seem to setfocus back onto which ever textbox the input needs to be changed. I think it has something to do wih the _exit event, but not sure.
I have a user form where two command buttons are set with the following code:
Code:
Private Sub CommandButton1_Click()
Frame1.Visible = True
Frame2.Visible = False
[Code]....
Now, when cmdbtn1 is clicked, frame1 is visible and vice-versa.
However, the position of both the frames on the user form are not on the same position on the user form. Indeed, it takes the position of the design view.
I want a code which will place the frame1 and frame2 at the same place and position on user form, irrespective of its position in the design view.
What I missed. I already added the MS VBA Extensibility 5.3 on a VBA Reference. but still got an error.
Line1: Dim objForm as object
Line2: Set objForm = ThisWorkbook.VBProject.VBComponents("UserForm1").Designer
Line3: Set Butn = objForm.Controls.Add("Forms.CommandButton.1")
The error is on Line3, "Runtime Error '91': Object Variable or With block variable not set".
I am trying to implement a simple userform using the RefEdit control.
So I have the RefEdit control and an Ok (which has code attached to it) and a Cancel commandbutton.
For some reason, I can't get the focus on the RefEdit control (i.e. when I activate the form, I have to actually click in the RefEdit box before it gets the cursor). Which property sets the focus in this control?
Right now I have the Ok button Default property set to True.
I have a commandbutton on the spreadsheet that activates the userform.
Suppose I have a userform named myUserForm and a checkbox on it named myCheckBox. How on earth do I remove myCheckBox from myUserForm at run time? I've tried every which way I can think and I always get "error 444". Some things I've tried are:
myUserForm.Controls.Remove "myCheckBox"
myUserForm.Controls.Remove(myCheckBox)
myUserForm.Controls("myCheckBox").Remove
myUserForm.Controls.RemoveControls "myCheckBox"
I've put this in a standard module, the ThisWorkbook module, even in the myUserForm code module and each time it's the same error.
can i disable/remove a control from the being in the tab order.
i no i can move to the bottom but there is too many too use that option.
i need it to be elimated from user input alltogether.
it is filled automatically
How can I put the webbrowser disable so that is impossible to clik in it?
View 7 Replies View RelatedI have a workbook which when opened connects to an external datasource (excel file) and downloads a table of information. While this is happening I have a userform which shows which has a lable saying (connecting to datasource, please wait....). However, when I open the workbook, the userform shows but the labels do not show, the userform just appears white.
View 4 Replies View Relatedi've gotta demo an Excel app in a few days and this never really bothered me, but someone recently pointed out that it can get distracting for the Control Toolbox to pop in and out randomly. the form is being built for use by other staff, and i suppose it would also be distracting for them if the toolbox arbitrarily appeared here and there. is there a way to turn it off?
View 2 Replies View RelatedI have a User Form that is used to collect data. CommandButton1 loads the User Form data into the worksheet and CommandButton2 clears all data from the Form in preparation for entering the next record. Immediately after a user first opens the Form, the very first time CommandButton1 is clicked, the Enter Key stops working. At this point data can be typed into any TextBox on the Form, but when the Enter Key is pressed the cursor remains in the TextBox. (The Enter Key will not move the focus to the next Textbox in the Tab Order. Also, if I alter the code to set the focus on a CommandButton as the active control instead of a TextBox, pressing Enter on the active CommandButton does not execute the CommandButton's macro... the same behavior as a TextBox; nothing at all happens when the Enter Key is pressed even though the CommandButton has focus).
At the point when the Enter Key stops functioning, if the user presses 'Alt-Tab' to leave the Form and then immediately uses 'Alt-Tab' to return back into the Form the Enter Key suddenly works again and continues to work correctly from that point on even after CommandButton1 is clicked. Again, the Enter Key stops working ONLY the first time CommandButton1 is run immediately following initially opening the workbook and Alt-Tabing into the Form immediately corrects it. I saw one other post in this forum with this same problem in 2003, but unfortunately it did not get answered.