Is there a way to call a subroutine anytime any control is changed within a userform?
For example,
I have a userform that needs to go through and add/multiply almost every value in every textbox and also add together values associated with checkboxs. I need this to happen anytime a textbox value is changed or a checkbox is checked.
I Have a sheet with 4 activex comboboxes and 3 text boxes. If the right item is selected in the second combo box a user form opens up. That has 4 text boxes. It has a command button titled ok that takes the information from the 4 text boxes and puts them in a sheet called data.
Code: Private Sub cmbOK_Click() With Worksheets("Data").Range("A1") .Offset(1, 8).Value = Me.txtFirm.Value
[Code]....
I need a way for the above code to run when the ok button on the user form is clicked.
I am having some difficulty with user form navigation bar - when scrolling to the end of the data it works just fine. When scrolling towards the beginning of the data it breaks with a "Runtime 1004: Application-defined or object-defined error". The reason may be that the beginning of the data is not correctly defined. The data has a header row. Code that I think is relevant to the navigation bar follows:
Private Sub Navigator_Change() 'When Scrollbar value changes, save current record and load 'record number corresponding to scroll bar value 'Call SaveRecord Set RangeData = Range("CONTACT").Rows(Navigator.Value) Call LoadRecord End Sub
Private Sub UserForm_Initialize() 'Load 1st record in CUSTOMER and initialize scroll bar With Range("CONTACT") Set RangeData = .Rows(2) Call LoadRecord Navigator.Value = 2 Navigator.Max = .Rows.Count End With End Sub...........................
I need a code for "click-able button" in my excel sheet that will call makro "copy" which I have connected with ThisWorkBook /Sub copy() .../ or in other case with Modules (module 7 for example).
I have created a command button so that the sheet asks for a password. Now I need to include that in an already created code. I have created a command button as:
Private Sub CommandButton1_Click() If LCase(Me.TextBox2) = "password" Then Run "Showall" Else Run "Hideall" End If End Sub
Can someone tell me how to call this macro in another macro. That is when another macro is running and if the condition fails, this macro should be called. Is it something like run "CommandButton1"?
I want to call on a function with a macro/button in the same way as when you choose "insert-function" but in a way that the user himself is able to put in values on the spredsheet.
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 am having a problem calling buttons. I have an array with button names and another array with their caption texts and I would like to call them one by one in a for loop:
For i = 1 To UBound(button_array) Sheets("Statistic").Shades(button_array(i)).Caption = button_text(i) Next i
But the only way I seem to be able to call them is by their set names, like:
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
The error is Compile Error Sub or Function not defined.
It seems to work ok when enabled from within the Command Button but when the same macro is called from the button, it gives an error at the first-line following Loop.
The code was pasted in a module as Sub End_Input() and the button was modified with a Call function to the subroutine.
I've created a simple UserForm, and with some great help from royUK. I've managed to get it working to suite my needs. The next thing I need to do is call it when the user runs the macro.
How do I call the UserForm from within the macro that I created?
Once the user gives the input, how do I take the values and pass them to the loop in the macro?
I wanted to have that one appear whenever a certain cell in a certain sheet gets a specific value, and depending on the answer of the user the Form should set the value of some other cell. So maybe thereŽs a much simpler solution to this task than what I tried - and IŽll be grateful to learn about it.
Anyway I tried the code which follows below - and it works just fine when I call it from the VBE environment - but inside the UserForm it just stops in between (without any error message) when I operate it from the Excel sheet (but still succeeds with the function). IŽll be very happy if someone could solve this "miracle" for me (even IF thereŽs a better solution altogether). So I just provided a simple Function which does nothing but call the UserForm and is executed whenever the condition is met (some calls to MessageBoxes in between just have been added to see how far the code gets executed): Function:
Public Function Call_my_form() Call Option_Form.Show MsgBox "Call executed" End Function
Call of the function: =If(E11="Go";Call_my_form();"Nothing")
The UserForm just uses two OptionButtons with code as follows (two versions to check whether one of these would be the reason - both do behave the same way):
Private Sub OptionButton1_Click()...........................
I have two combo boxes that both contain 7-12 separate search criteria for the user to choose from. The other includes months and the other value ranges in text form. Based on the selections, e.g. "August" from other and "increased by more than 5 %" from other, I'd like to have a command button to execute the appropriate macro. I've already compiled the macros for each occasion but I just can't figure out how to get the button to execute them. Can I use the Select Case statements? If so, how?
Oh, and whether it's relevant or not, the boxes and the button are from the control toolbar.
I do not know if I have this written correctly, I would like to have the sub - Retro run whenever some one opens this worksheet - "FORM". The retro is also suppose to test cell H12 to see if it is blank before running the msgbox.
I am changing command buttons over to shapes for aesthetic purposes. I went to assign a macro to call useform4 using a rectangle with the following code:
[Code] .....
It throws me some kind of file path error which makes no sense. Do I have to dim the rectangle2 for active sheet or something?
i'm trying to call a function from another one, i'm getting this error 'Compiler error: = expected' but i don't know the reason, the functions simply take some values an store them in an here is the
Dim productos(19, 3) As String Sub agregarProducto(ByVal descripcion As String, ByVal modelo As String, _ ByVal precio As String, ByVal unidad As String) Dim r As Integer For r = 0 To 19 If productos(r, 0) = "" Then productos(r, 0) = descripcion productos(r, 1) = modelo productos(r, 2) = precio productos(r, 3) = unidad End If Next End Sub
Sub agregarProductoTelas() Dim descripcion, modelo, precio, unidad As String If Selection.Column = 1 Then descripcion = Selection. Offset(0, 0).Value modelo = Selection.Offset(0, 0).Value precio = Selection.Offset(0, 3).Value unidad = Selection.Offset(0, 2).Value agregarProducto(descripcion, modelo, precio, unidad) 'error happens right here MsgBox (descripcion)...
I create and load a commandbar, prior to loading it I attempt to check if it exists, then delete it, and recreate.
I dont understand why this seemed to work for months and now creates an error. It appears that every now and then the created commandbar is not created when I open a file. Thats when the error pops up. I can manually run the Create_Bar sub and it will be fine, for a while.
Run-time error '5': Invalid procedure call or argument
This section is in my personal.xls file in "ThisWorkBook" of personal.xls.
Code: Dim LR As Long Dim Dash As Long, _ Whole As Double Dim pi ', WorkSheets, Range WorkSheets("Sheet3").Select LR = Sheets("Sheet3").Cells(Rows.Count, "A").End(xlUp).Row
Ok I have a form where our employees enter in some info and press the add button. I want this add button to take the data entered and transfer it to a database. Each time the button is pressed it needs to drop a row and add the new information entered.
I have a column ("R") which contains prices. What I'm looking to do is have a form control button that either hides that column, or better still just turn the font white (invisible)on the press of the button, then with another press turn the font back to black (visible) or do I require 2 buttons to carry out this function. I don't wish to have the column formatted in anyway after the changes, simply 1 press turns the font white and either another press (or another button) turns the column back to the exact same state (no formulas present) as it was.
I have created a userform and a command button to bring up the user form but when I click on the command button and the user form pops up I am not able to enter any data, the entire page freezes
This is the code
Private Sub CommandButtoncancel_Click() unloadme End Sub Private Sub CommandButtonOK_Click() With Workbooks("RETS results version 2.xlsm")
I want to be able to call one user form from multiple ActiveX command buttons. The problem is, the number of command buttons depends on user input on another worksheet, so it's variable.
I've renamed all of the command buttons so they are named "CommandButton" & i, where i is an integer between 1 and, say, 200. I want each of these buttons to direct to the same UserForm where additional information can be entered.
I can't think of a way around the event-handler procedure name.
Sub [Command Button Name]_Click
to call the User Form. I won't know the command button names, because I won't know how many there are (max i) until the user inputs.
Basically, I want to create a For loop through the max i and have the event-handlers call the user form
I could call another userform in a userform(like a new window)? I want to put a MsgBox when i click in a buttom, but i prefer to use another Userform like a Msgbox because it's looks better than a typical msgbox.