Ensure Cell Only Accepts X Characters
Dec 14, 2007my formula is in B1. If in A1, there is letter Y, the value in B1 should accept only 3-digit numbers.
View 2 Repliesmy formula is in B1. If in A1, there is letter Y, the value in B1 should accept only 3-digit numbers.
View 2 RepliesExcel 2007.I have a list of postcodes (UK) which have different lengths of characters (including spaces) from 6-8, however our system seems to add additional spaces inbetween the postcode, so it could have upto 11/12 characters (inc spaces) Below is what could come out:
EH21 6PQ - 1 Space (8 Char)
EH12 9HG - 3 Spaces (10 Char)
E1 8DF - 3 Spaces (8 Char)
LL5 1GH - 2 Spaces (8 Char)
L5 1FG - 1 Space (6 Char)
What I need is a formula to ensure each postcode only has 8 characters by inserting spaces between if there's less than 8 char and trimming if there's more than 8 char
So from the above postcodes the desired results would be:
EH21 6PQ - 1 Space (8 Char) - This would be correct
EH12 9HG - 3 Spaces (10 Char) - Trim off 2 spaces from the middle
E1 8DF - 3 Spaces (8 Char) - This would be correct
LL5 1GH - 2 Spaces (8 Char) - This would be correct
L5 1FG - 1 Space (6 Char) - Insert 2 spaces in the middle
This is my excel sheet
Cell A CellB Cell C
Name Hour Work Hour Rest
Alan 3 1
Alan 5 0.5
Steven 2 0
Alan 3 1.5
Ricky 5 0.5
Steven 3 0
If I use sumif using VBA, I would have to
Evaluate("sumif(Sheet1!A:A,""" & "Alan" & """, Sheet1!B:B)")
Evaluate("sumif(Sheet1!A:A,""" & "Alan" & """, Sheet1!C:C)")
write a vb subroutine that accepts a date from the user and then displays a summary of the data (which i have) for that day in a message box
View 9 Replies View RelatedI enter for example in a cell : 0625-C0/01
sometime 0 is entered as O a letter and not zero.Is there a way to ensure that only 0 (zero) is allowed in that string using data validation rules.
I am trying to set up a data validation to ensure that when a user enters a number in column A that matches a previously entered number in column A, the user is only allowed to enter the same date for the number it matches in column B.
For example, if:
Row 3 column A = 1320
and
Row 3 column B = 16-Dec-07
and
Row 15 column A = 1320
then:
Row 15 column B must be 16-Dec-07
I have the formula but it will always change when i shift my cell down
=MAX($G$21:G35)
When I shift my cell G21 down, it will change to below
=MAX($G$22:G35)
The problem is that I do not want the formula to change. How can I do it ?
I have a range B1:B20. These cells are populated by the user and I want to ensure that no two entries are the same. Is there a way of presenting a dialog box that prompts the user to enter a different value if the value they are trying to enter is already entered somewhere in the range?
View 5 Replies View RelatedSo we have people's names in a table. First name in one column and last name in another column. We have a 3rd column where we can use 8 characters to do a combination of First 5 of Last Name + first 3 of first name. However, if someone's last name is only 3 or 4 characters, we'd then want to take more from the first name to fill out the 8 characters.
So:
Charles Johnson -> Johnscha
John Smith -> Smithjoh
Willian Wu -> Wuwillia
What's the best way to do that without creating some crazy formula with tons of if/thens?
My form has a combobox with three options "Withdrawal" "Deposit" "Fee". I want to make sure that whatever number a user puts into a textbox, if they select "Withdrawal" or "Fee" that number will be converted to a negative number, and if they select "Deposit" it will be positive. I have written the following code and am just wondering if there is some super slick way of doing it other than an if statement.
View 2 Replies View RelatedI am trying to ensure that only alpha numeric data (one letter then 4 digits) is entered in a cell.
View 9 Replies View RelatedI have five text boxes on a user form. I would like the 5th box to always equal 100 - the Sum of the other boxes, and never go below 0.
In other words, the text boxes are representing percentage breakdowns - so to validate the percentage entry in each box i want the last box to 'count down' from 100 as the percentages are distributed amoungst the other boxes. This box will also be a percentage figure, so is crucial it has its own box (rather than just saying these four boxes have to total 100) i hope this makes sense!
I have tried a code along these lines (see below) - (adapted from this forum but couldnt get it to work) I also found a version where one poster used a command to change the 'value' from string to numbers - but have been unable to find that again.
Private Sub txtbox1.change()
txtbox5 = 100 - (CCur(txtbox1) + CCur(txtbox2) + CCur(txtbox3) + CCur(txtbox4))
End Sub
I have largish workbooks (10MB) with a variety of formulas and lookups to generate tables and charts. Calculation is ALWAYS set to Automatic, but sometimes (not always) the formulas fail to update when values are changed. Sometimes F9 will force calculation, sometimes Ctrl + Alt + F9, sometimes (especially with charts) I have to close the workbook and reopen before they will update. The workbooks contain macros but none are running when this happens. A search of your forum indicated that this question has arisen several times before, but I haven't seen a definitive answer.
View 6 Replies View RelatedI have two enormous lists of dates. How do I automatically compare them to ensure the date on one comes after the date on the other one?
They're formatted as dates. Christmas Day 2000 (UK) did say 25/12/2000, and then when I reformatted it it automatically changed to 25 Dec 2000, and so on.
I'm looking for a way to ensure that users of a spreadsheet have filled in all required cells. VBA code which will prompt if a cell is blank which will activate on a button click
All cells are 'Named ranges' so hoping there's a way in which I can point to all named ranges and if they're blank display the below error message.
"Please ensure you have filled in all required fields"
I have created a userform to add a new user and his/her password to a list of usernames and passwords (which i use for login procedure). Now, as the login name must be unique, I would like the userform to disallow existent usernames from being added. How do I go about doing this?
View 9 Replies View RelatedI have a workbook containing several sheets, each sheet has a large number of ActiveX check box controls on it.
The controls are presented in groups of three to capture responses to a question (Y/N/NA). If one of the three check boxes is set to True, the other two associated check boxes must be set to False.
What I want to do is avoid having to have an On_Click event sub for every single check box.
I have written a function that will handle updating the related check boxes but I am unsure how to call this function, passing it the name of the clicked Check Box whenever any check box is clicked.
Here is my current code with an On_Click event being used to call the function:
Private Sub chk100_01Y_Click()
' Want to replace this with a dynamic sub that will be invoked
' when any Check Box is clicked and pass the name of that Check
' box to the function
Call Update(ActiveSheet.OLEObjects("chk100_01Y"))
End Sub
it's been a long time I've posted here. I need some advice on how to make words blinking in excel. I have problem in sending proper instructions in my staff in my excel. So I think that blinking words will get my staff attention.I have search the forum but can't find any similar discussions.
View 5 Replies View RelatedWhen a user inputs a month and then a day, I want to be able to check to make sure that the day entered is possible in that given month. Is there a way to do that which is not too complicated?
View 9 Replies View RelatedI have a range Named "MyRange" which consists of cells "A4:H20". What I am attempting to do is when the user goes to save and or close the workbook it checks that all the cells within the range have been filled with data.
View 3 Replies View RelatedPrivate Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> Range("B3").address
End Sub
I would like to change the target to ceratin cells in my active row. How would I write the code to achieve this.
I have created a survey in excel 2003. It has 70 questions on it and the user responds to the questions by clicking on a radio button. There are 4 radio buttons within a group box for each question and the user will select one of them.
At the end of 'sheet 1' with all these questions on, i have a button which the user presses to proceed to 'sheet 2'. When they press the button i want to ensure is that all questions have been answered ie: 1 of the radio buttons is selected for every question.
If one of the questions isnt answered then a pop up box will appear to tell the user they have unanswered questions and then the vba code will exit and the user stays on the question sheet (sheet 1). If all the questions are answered then the user will move to 'sheet 2'. (the reference cells for all the groups of radio buttons are within column G on sheet 1).
I have written some code that copies certain cells from a spreadsheet constructed form back to a master spreadsheet database. The idea being to prevent users of the form from accessing the database and mucking it up. I write it the long way round and am now trying to modify it to not have to open and close the database everytime BUT whenever I change it I get errors that I think relate to the code not understanding the change of object...
' 3. send updated data to the database (all yellow boxes will update)
' set parameters for cells to copy from
Dim r As Long, e4 As Long, e6 As Long, e18 As Long, e20 As Long, e22 As Long, e24 As Long, _
e26 As Long, e28 As Long, e30 As Long, e32 As Long, e34 As Long, e36 As Long, e38 As Long, _
e40 As Long, e42 As Long, e44 As Long, e46 As Long
r = Range("D2")
e4 = Range("B4")
e6 = Range("B6")
e18 = Range("B18")
e20 = Range("B20")
e22 = Range("B22")
e24 = Range("B24")
The little blocks of code go on for 17 open/closes!
I have a range of cells A1 to D20 for users to input some textual and numeric information.
Is there a code to ensure that the user input from row 1, continue from row 2, then row 3, row 4 ....
I have a workbook that starts off with the following sheets:
MAIN_PAGE - Where filter criteria is selected via checkbox and PLOT button
RAW_DATA - unfiltered raw data
After running a series of macros tied to the PLOT button, two new sheets are created:
FILTERED_DATA(HIDDEN) - where the filter criteria from the MAIN_PAGE is applied, and the filtered data is stored.
CHART - The plot of the hidden FILTER_DATA sheet.
Every time the PLOT button is pressed, the the macro searches for the FILTERED_DATA and CHART sheets, and if present, clears and overwrittes with the new appropriately filted data. This works and suits the user's needs 95% of the time. However....
QUESTION
If the user decides to keep the old CHART and FILTER_DATA as well as the new FILTER_DATA and CHART, I need something to differentiate the two charts and data sheets. My thought was to have the user rename the CHART. The problem is that because the FILTERED_DATA sheet is hidden (and has to stay that way), how can the name change of the CHART be carried over onto the hidden FILTERED_DATA sheet, therefore keeping the plot and it's data in tact? For example, if I append the name CHART with a 1 to make it CHART1, how do I automatically change FILTERED_DATA to FILTERED_DATA1?
Trying to enter dates across first column with userform. Must not enter same date twice. Need to searching row to skip entering the date from userform textbox if date is already there. Dates are in order but not sequential. I want to search for existing date before the following
Set LastCol = Sheet2. Range("jk1").End(xlToLeft) 'enter data on sheet2
LastCol.Offset(0, 1).Value = TextBox2.Value 'date
Rows("1:1").Select
ActiveWorkbook.Worksheets("Sheet2").sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet2").sort.SortFields.Add Key:=Range("b1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet2").sort
.SetRange Range("b1:jk10000")
. Header = xlNo
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
Is there an Excel formula to remove the spacebar + characters in red, as shown below? I need to be left with only the last name, first name and the semicolon.
Mouse, Mickey ;
Microsoft Outlook has changed the way that email addresses from the global addressbook copy and paste (from version 2003 to version 2010).
I'm using the following code to try to ensure a value is entered into a text box, but when I click over to the next text box skipping the first one entirely, I don't receive any message indicating the previous box is empty. I'm trying to make it so certain fields are required and others are optional. Here's the code I'm currently using:
[Code] .....
I use excel 2007 and have a s/s running to 350,000+ rows.
Data is in ranges of 2 to 30 rows with blank row between each range.
Column F numbers the rows in a range (if row 120,000 begins new range then F1200,000 = 1, F120001 = 2, etc).
If there are 2 rows of data in a range then, including blank row, there are 3 rows between this and next range.
What I want to achieve is a minimum of 6 rows between each range.
Does anyone know code that can can achieve this end?
I keep getting a "type mismatch error" for this:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Len(Range("E18:E34")) = 0 Then
MsgBox "You must complete cell E18 thru E34 before you can save this file!"
Cencel = True
End If
I am trying to set a range of cells to ensure they are completed before the file can be saved. I can get it to work with individual cells, but not when I use multiple cells like in the example above.
This Works fine:
If Len(Range("D5")) = 0 Then
MsgBox "You must enter the Impress Amount before you can save this file!"
Cancel = True
End If