I am having trouble working through the examples given on other posts for this topic. I have a userform that creates a number of controls at runtime. One group of controls is a series of textboxes and a label underneath that sums the values of the textboxes. When a user changes the value in a textbox the label needs to update the sum. I have read about created class modules to define the event but it is all going over my head.
I have a userform with a single blank multipage. At runtime additional pages are added, the number of pages depends on input from another userform. Six frames, containing labels, textboxes and comboboxes are then added to each page.
I need to be able to use the textbox and combobox change events of these dynamically created controls to perform lookups and calculations. Although I can name the controls at the time they are created, it is not feasible to write code specifically for each control (I can have over 1,600 text boxes distributed over 9 pages, for example).
Having searched for some time on how to achieve this I believe using a class module is the way to go. However, how to use a class module is just not sinking in I'm afraid.
HTML Private WithEvents mpTextBox As MSForms.TextBox Private WithEvents mpComboBox As MSForms.ComboBox
Private Sub Class_Initialize() Set mpTextBox = MSForms.TextBox Set mpComboBox = MSForms.ComboBox End Sub
Private Sub mpComboBox_Change() MsgBox "ComboBox value has been changed." End Sub...........................................
I would like to have 4 calendar controls in a worksheet, but even with only two controls I am receiving a Compile Error - Ambiguous name detected: Worksheet_BeforeDoubleClick
I have problems wit setting some ActiveX controls properties. If I place ActiveX on worksheet manually, it is diferrent object, then If I place it by VBA code. I, am not able to open properities window for controls created by VBA. When I open properties window for ActiveX created manually, there is property fmbackstyle. If I am trying to set this property by VBA for controls created by VBA, result is error.
I'm looking for a way to loop through the ActiveX controls (option buttons) in one sheet so that I can have these option buttons reflect what I select on the front sheet.
I have an excel file that has quite a few buttons with macros attached and combo boxes. On one computer it runs perfectly normally, however on another, when the file opens all the comboxes and buttons with macros attached have been stripped from the file.
I would like to know if it's possibale to use VB, to auto manage these levels IE, 1 box asks for the part number 2nd asks you how many 3rd/4th boxes are "+", "-" When + or - is pressed the part number will automatically add's/subtracts that part level. I had 10x abcde's I enter 2 in "How Many", then press "-" it will then adjust the level from 10 to 8
I am trying to implement code that can handle a dynamic number of objects, specifically check boxes.
I know of eval( ) in perl that allows one to dynamically create command lines. For instance, the following code would change all of the Checkbox values to 1. The syntax may not be correct but the idea is solid.
Do While i < num_checkboxes eval("Checkbox" .i. ".Value=1) Loop
I have a userform that stores data (1 row record with 20 columns) to a worksheet.Is there a way to grab the data back in (other or the same)userform, ambent(correct) data and store them back in the same row in the worksheet?
I have used Option Buttons and Combo Boxes on my worksheet. When I print my worksheet, the controls which contain values do not print properly. They only print a fraction of their actual size relative to the rest of the worksheet. The properties are set so that they are printable. What setting do I need to change for them to print properly.
When placing a control on a worksheet, the text in the label,option box etc controls is vertical and I can't find a way of changing the direction to left to right. It doesn't happen on all workbooks. I can put the control on a "normal" workbook and then copy it to the "abnormal" workbook but I would like to know why/how I can change the direction of the text.
Under Tools/Options/International the text direction states left to right
I created a macro to create command buttons on sheet 1 of my worksheet. The created buttons using oleobject and class type: forms.commandbutton1, creates an object with no properties on the sheet (i.e. if you right click on it excel thinks it's an object and not a control.) Is there a way to create it as a control?
I'm currently building an Excel database. This database has a few comboboxes and checkboxes that are tied to each other. If I select the combobox option of "Years", the "Quarters" combobox must be greyed out. In addition depending on which option is chosen, the relevant check boxes must be enabeled or disabled. I've written some code which runs fine, until I try and activate another macro button or if I add and rename a sheet(which is not linked to anything). What should I do? Here is a sample of my code. I have a feeling it's really obviouse but I cant see it..
I need to make several exact duplicates of an existing worksheet which includes several form controls. Basic Copy/ Paste the worksheet works well but row heights are different and hidden rows are unhidden. Is there a way to make an EXACT duplicate ?
I have a worksheet with lots of things going on... the end user needs access to the Name field, DOB field, all the scroll and form control option buttons in the 9-question sheet, and the macro-enabled reset button at the bottom. Formulas are sprinkled throughout the worksheet, in columns T through AC... option button links go to AA and AB.
I would like to protect the entire sheet so none of the fields, except where indicated above, could be selected or edited... but when I protect the sheet, I get errors when trying to use you form controls, and the formulas do not respond. And finally, when protected, I get a debug error on the reset macro.
I already have validation code to test TextBoxes for numeric values as well as the size of the numeric on a MultiPage userform. Of these 65 TextBoxes, 40 are within frames associated with two OptionButtons. Once the following conditions occur:
1) the frame’s focus is lost; 2) the textbox value is not null; 3) And the two Option Buttons’ values are both false,
I want a UserForm to load informing user that the OptionButtons must be selected. In addition, there are three different user messages one of which will be associated with one of the forty TextBoxes. The Names of the TextBoxes and their cognate pair of OptionButtons will share the same prefix, i.e., ***_Text, ***_Opt1, ***_Opt2 and the OptionButtuns Tags are labeled so as their values will get associated with the correct member of the three different messages. Along with displaying the appropriate message contained within this validating UserForm, I’d like to have the appropriate pair of Option Buttons whose selected Value gets passed to the correct option button on the main MultiPage form. The user cannot continue unless one of the OptionButtons is selected. How best is this accomplished? Should I also have the TextBox’s Tag set to a value matching its associated pair of OptionButtons? Whilst I could code this action at the time of Value submission, I’ve decided validate on the MultiPage user form rather than at the Value submission although I’m not married to this
I have a sheet with 550 checkboxes (form toolbar). I want to be able to reset the boxes to unchecked with a button. I found an example here but I seem to need the label (Ex: "Check Box 1")
Sub UnCheckit() ActiveSheet.Shapes("Check Box 1").ControlFormat.Value = False End Sub
It doesn't make sense I would need to leave the label showing on the sheet, but the label seems to be the identifer for each checkbox, not the named cell. So I am a little confused how to alter the code.
So when it works it looks like: [] Check Box 1 Click this box to indicate something
While I wanted it to look like: [] Click this box to indicate something
(I guess control checkboxes was the way to go but we are here now.)
I created a userform. Now, I want to make a sum of the textboxes in my userform and pop up a warning signal is the sum isn't 18. I tried it in different manners, but I always get some problems. I entered default values of 0 in my textboxes. When I edit the values by using the userform, the popup message will appear even though the sum of my textboxes is 18. Here is the code for the pop up warning message.
If (Me.txt1.Value + Me.txt2.Value + Me.txt3.Value + Me.txt4.Value + Me.txt5.Value + Me.txt6.Value + Me.txt7.Value _ + Me.txt8.Value + Me.txt9.Value) <> 18 Then MsgBox "Vous avez fait une erreur. Le total ne donne pas 18 trous." Me.txt1.SetFocus Exit Sub End If
I have a workbook with two worksheets, "Main" and "Control".
Both of them are with hidden tabs (unchecked "show sheet tabs").
On worksheet "Main" I have command button which opens worksheet "Control".
The assigned makro is: Sheets("Control").Select
The problem is: when I open "Control" and close after that the workbook, the next time when I open the workbook "Control" pops-up instead of "Main" even though I do not save it.
1. I need macro on "Main" which will allow me to open "Control".
2. Regardless I "Save" or "Don't Save" "Control" when selected and workbook is closed, to open the workbook always displaying worksheet "Main".
I have a workbook with multiple sheets. I want to add conditional formatting for a cell on 1 worksheet based on if multiple ActiveX controls are checked (checkboxes) on another sheet. I have 10 checkboxes (now LinkedCells named "G1" -> "G10") on worksheet "Data Entry". The formula should be if all 10 boxes are checked on the "Data Entry" worksheet, cell "A1" on the "Milestone" will be gray. Any clues on how to write the formula for this Conditional Format?
For example I have three columns named Name, City and Telephone.
UserForm1 has three textbox(TextBox1, TextBox2 and TextBox3). All three textboxes data populated from sheet1 (Name, City and Telephone) by selecting a comboBox.
The code is below... and which is working fine.. The problem is in my next code. I am trying to amend data in all worksheets but it is not working.
Private Sub ComboBox1_Change()
Dim strNamedRange As String Dim lRelativeRow As Long
With ComboBox1 If .ListIndex > -1 Then strNamedRange = .RowSource
changing two variables a various amount of times and running the same procedure and copying the resutls into another sheet. Seems like a perfect place for a macro. However, these variables can be chosen from a list that the user wants. So why not build in a listbox for each one. Now I have two listboxes one for variable A and one for variable B.
The procedure in theory goes something like this we change variable A from the base case and then run the procedure for variable B, get the results, then run the scenario again but changing only variable B abnd repeat. Then once, all of the variable B scenarios are done, I want to change the variable A and then repeat and so forth.
That is the background and my main problem at this point, is that have these values in two listboxes, I know how to do the for each loops and such, however, I do not know how to do them for values in the listbox.
How do I identify the values selected in the respective listboxes and then pull them so I only use them for the for each loop?
I'm currently working on that requires me to compare and update between two different workbooks, "MyData" and "Daily".
As the names imply the first is an ongoing database the second "Daily" is upto date information that arrives each morning. In both workbooks there is a column that contains unique data/serial number.
I have written some code that compares these numbers, if they are the same the new upto date information overwrites the original information (replaces entire row), if the serial number is new it adds it as a new entry in the last row.
Well so far so good, actually I have only managed to do this on the same worksheet, but it does work.
As there is a lot of data I'm looking for the fastest way to "look" for this information should I compare between the two open workbooks line by line, should I copy all of the data from the "Daily" to a worksheet in "MyData" and work from there.
My current code opens a file ("Report01.CSV") from the directories in column A (one at a time), and copies data into sheet 2.
The problem is that sometimes there is no ("Report01.CSV") file in one or more of the directories.
What I would like to add is an error handler that would remove the directory (delete that cell) that caused the error and continue with the loop. I.e. resume importing data from the other directories.
CODE: Dim wrkMyWorkBook As Workbook Dim lngRow As Long: lngRow = 1 Dim lngColumn As Long: lngColumn = 2
Do Until Sheets("Sheet1").Range("A" & lngRow).Value = vbNullString Set wrkMyWorkBook = Workbooks.Open(Filename:=Sheets("Sheet1").Range("A" & lngRow).Value & "" & "REPORT01.CSV") lngRow = lngRow + 1
My worksheet takes a time feed in the format '00:01:05' and I want to trigger an event when it goes to negative (eg, -00:01:05). But I have no idea how to handle it.