i need to set the range of variables that user can add to the range.
For Example:
AA_*
BB_*
CC_*
ABCD_*
so we accept variables STARTING with AA_ OR BB_ OR CC_ OR ABCD_. If the user enters sth else, then I want to disable the "Enter" key. (If the Cell is Empty than it is also OK!!)
If disabling the Enter key is not possible then maybe i can use Conditioning Formatting? But the question is then if i can use for single condition OR statement.
I know that we should declare all variables at the beginning of a subroutine, in fact I'm told it's good practice to use Option explicit to 'force' variables to be declared, my question is why?
If I don't declare a variable the routine still seems to work OK so what is the downside of not declaring them upfront? Is it just for neatness or common practice or is there another reason?
Sub checkPO() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.EnableEvents = False Dim Rng As Range, MainSheet As Worksheet, item As Variant ', CurrWidth As Integer, UnitWidth As Integer
Set MainSheet = Sheets("Orders To Chase") Set Rng = MainSheet.Range("B5", MainSheet.Range("B60000").End(xlUp)) totalqueries = MainSheet.Range("B5", MainSheet.Range("B60000").End(xlUp)).Cells.Count
UnitWidth = 282 / totalqueries
With progbar '\displays the please wait box .Show False
.prog.Width = 0 '\ updates progress bar .Repaint End With
If I declare the variable my progress bar goes off screen. remove it and its back to within its box.
I haven't declared any of these variables either. Does this matter?
I have a series of operations to carry out and, while I can do the code for each individual one, how to declare the variables correctly and have the operations done in a series of Do/ Loops or For/Nexts. Especially the declaring of named ranges as variables. Also a bit uncertain of the best way to find and coy the match. I have attached a simplified version of the workbook, with explanations on it.
Basically what I need to do is loop through a series of named ranges and then loop through the names in each, match each name with a name in a master list (with a flag as an image), add an e-mail hyperlink to that flagged name and copy both to a new cell.
I have a userForm (Form1) that contains a persons name that I would like to reference in a separate UserForm (Form2). In the separate UserForm (Form2) I need to reference this persons name many times, so I was wondering if there was a was to declare this name in the separate UserForm (Form2) as a constant. Only thing is that a constant, to the best of my knowledge, must be an expression and not a variable. Mainly, I'm trying to avoid declaring the myName variable in each Sub within Form2, which it will be needed for a ton of Sub's.
Code for Form2: Const myName As String = Form1.txtName.Value
For work, I'm doing a project for Quality Control. I'm looking to create a Bar Chart (horizontal bars) with 2 "vertical" lines to indicate the range of acceptable values
Attached to this Post is a *.pdf that (hopefully) further explains what I'm looking for.
I am running into the error, "Procedure too large". I know I need to break the range down into Arrays, so how can I hard code the values into an array? I cannot find an example to follow. Ranges: D:E,K:L,O:P,....etc. I know I can break the rows up into an array too, but one thing at a time. Here is an example of the range for D:E.
I have a column a1:A150 which includes some Data. I now want to declare these data as an array.
Afterwards I want from cell b50 to copy int the value from cell a1 and copying the next value from the array (cell a2) into cell b51 and so on until cell b200.
I want to do it by creating an array and not just by usual Excel formulas.
I am trying to declare lngLr as Long and Constant. But it's buggin out on me. Is this the correct way to do it?
Code: Private Const lngLr As Long = ".Cells(Rows.Count, 1).End(xlUp).Row" Sub calculate_active_employees_sheet_years_of_service_w_Oasis() Application.ScreenUpdating = True
how to declare&initialize a variable as Global in vba?
I have a variable , listGroup=Array("aaa","bbb","ccc") now i am using this variable for 3 different functions. so what i am doing is wrote the same code to 3 functions, so how i can declare&initialize this variable as global and access to all functions.
I need to declare a global variable in Application level not Module level.
I have declare a variable in Module1 and then Module2 with same name then complile it and get success. That means there has two variable with same name in different Module. I think this was not a proper global variable declaration by which I can allow to declare only one variable in all Module, Class every where. I have used code as below -
I need to declare a two dimensional array that will return the Row and the cell's string value. My only solution is to return the row as a string like this.
Public GlobalArray(2, 100) As String
How to get more control than this? Maybe I should just declare it as a variant but this might open it up for problems later.
I created an add-in for Excel 2003 by following your site's instructions, substituting my own subroutine's name for "MyGreatMacro" (for the purposes on testing all it does is spit out a MsgBox). I then put the resulting xla file on a network drive and went through the standard process for installing an Addin :
Tools -> Addins -> Browse for the file and hit ok, check it off, etc
This works perfectly fine when i try to install on my own machine, but when I try on other user's machines I get an error message stating that the xla file is not a valid Addin. Excel's error message in this case is about as unhelpful as they come.
I try to add a named range and it says name not valid!! I'm putting in jan13. Why would this not be valid. There are no other named ranges in the workbook
I have a macro that creates a new sheet and names it based off a cell value (date, MM-DD-YY), and copies a 'Template' sheet to it, values only. Every so often, two sheets need to be made with the same date. I need the right direction in creating an addition to the below code that will add an A, B, or C at the end of the sheet name if the name is already taken?
I've 1000's of website URLs which I need to open one at a time, and check if the page contains message such as 'Product not found' or 'Oops...' or 'Page not found' or 'Error'
i have a customer (im a computer tech, but excel is not my specialty) that has a weird problem with her most important file. She meant well, but tried to back up a 2.6 MB file to a floppy disk, and after it told her the disk was full, she was unable to open the file again in excel. (File Format Is Not Valid) It will, however, open in word, with the data there. Its in an unusable format, as there were 12 different worksheets (one for every month), all on the one page of MS Word. Better than nothing, but still will take weeks to reenter properly. I searched for a repair utility and had one that seemed to work, but only put a "0" in column A row 8. A far cry from what we are looking for. Ive also run a disk recovery program in the hopes of finding an older version of the file, but came up empty.
I have a textbox (on a userform) that populates into a spreadsheet. the way I have it set up the user enters a time, but omits the semicolon, and a macro adjusts the time to show the semi colon in the spreadsheet, that is working great. But what I would like to do is to use a textbox change event to force the user to enter a valid time using a 24 hour clock. I have the textbox set to accept numbers from 0 to 2400, using the textbox change event but this allows the user to enter an invalid time such as "1575" basically anthing above 59 for the last 2 digits would be invalid.
I am trying to define some variables as byte, but I want 0 to be a valid value rather than null. When there is no data, that is when I would like for the variable to be null.
Is there a way to accomplish this? In addition, I use the same variables in a loop, which are reset at the beginning of the loop. Is there a way to reset a variable without giving it a value (like 0)?