working on a sheet I have one col that is formated for dates (yyyy-mm-dd) this is fine if you enter a date from the 1900's or 2000's but enter a date from the 1800's and it's a no go!
example: Enter 14 jul 1941 and it formats 1941-07-14 no problem Enter 14 jul 1841 and you get nothing just 14 jul 1841 no formating at all. And this is the same for all the date formats.
I'm using Excel 2000 and I have downloaded a report from another system. The dates come in for example in the format 10.06.2008. Using the replace functionality I can change this to 10/06/2008. However, when I do this using VBA
I have a UserForm that requires a value in TextBox10. I load a "1" into it at start up. If the user tries to delete the value in TextBox10 and exit, leaving either "" or 0 in the TextBox, it will cause a great many problems. I need someway to keep the focus in TextBox10.
I tried to find something using the search engine but I could not find anything searching with this subject.
Here is the code from my first attempt:
Private Sub TextBox10_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox10.Value = 0 Or TextBox10.Value = vbNullString Then TextBox10.SetFocus Exit Sub End If
It doesn't seem to do anything. When I delete whatever is in the Textbox and hit enter, it should just stay in TextBox10 but instead it goes to the next tab location.
I have a TextBox in a Worksheet with a ScrollBar defined and its working perfectly! The only problem is that everytime I click outside the TextBox, the ScrollBar goes to the lowest position and I only can see the bottom of the text in the TextBox...
Is there any way of keeping the ScrollBar on its position everytime I click outside the TextBox?
In my userform, I have a textbox where I enter a number.
When I hit the return key in the textbox, I want the userform to act like I hit a commandbutton_Click. (The commandbutton_Click takes the contents of the textbox and locates a line with that number in it in a specific worksheet, and then displays the line of info in other textboxes in the userform).
I want to force a UserForm TextBox to format the text typed in to have the first letter of each sentence capitalized and all other letters to be lower case when I exit the TextBox.
I have an UserForm, where I have several text boxes. One of these textboxes should be entered with decimals. I have been able to cope with the declarations, and set the variable as Variant. However, is it possible to prevent the user inserting "," instead of "."? Alternatively, automatically change "," to "."?
When a userform textbox value is changed, if the vertical scrollbars were shown previously (due to more text than displayed size) and is still required for new value, how do you reset the scrollbar/textbox value back to the top (if it was previously scrolled down by the user). If teh scrool bar is no longer required for new value (due to sufficient space to display new value without scrollbars), how do you remove/hide the scrollbar again until needed.
I don't why the following code is not working. I am trying to force a date format when a user is trying to enter a date in anycell
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If IsDate(Target.Value) Then Application.EnableEvents = False new_date = Format(Target.Value, "dd/mm/yyyy") Target.Value = new_date 'MsgBox new_date Application.EnableEvents = True End If End Sub
For me this returns "Jan 14." However, I have a colleague using a Spanish version of Windows/Excel and therefore it displays this in Spanish as "ene 14."
How can I force the formula to return the English spelling, Jan 14?
I have a customised excel woorkbook that will be distributed to several locations with different computere systems, etc. I wanted to keep some convention with the naming, so I've put in a saveas routine to open the saveas dialog and change the default name. The user can then select the directory location and save the file.
Here's the Sub Saveas_routine() ' Dim strName As String
On Error Goto InvalidName strName = "E-RAMP " & Sheet1.Range("A1") & Format(Now, " dd-mmm-yyyy") & ".xls" Application.GetSaveAsFilename (strName) Exit Sub
InvalidName: MsgBox "The text: " & strName & " is not a valid file name.", vbCritical, "E-RAMP" End Sub
The problem is, when the save button is pressed in the saveas dialog, the dialog disappears and the the workbook doesn't save.
A form loads and the first thing the user is to do is enter a specific date in a text box (preferably in, "mm/dd/yyyy" format.)
Is there any way to set up the text box so that when the form loads, the, "/"'s (slashes) are already in place? And can I set it up so that if the user enters in the date in any other manner aside from, "mm/dd/yyyy", that it will give them an error?
Finally, I want the user's date input to store on a worksheet (in row, "G".) So the first time the user uses the form, they type in a date and it stores the date in the FIRST AVAILABLE CELL IN ROW, "G." (example: "G1") The next time they use the form and type in a date, it is to store in, "G2", then in, "G3", ect. Each time they fill out the form, the new entry is to save in the next row beneath the previous entry.....
For other text boxes and combo boxes I have been using the following code to do this:
Sheets("Sheet1").Range("A" & intRow) = Text.Value (or Combobox.Value - depending on whether it was a text box or a combo box.)
Unfortunately I have NO idea how to apply this logic in regards to text boxes that are to store dates.
So I have a Workbook that I want to make read-only/protect after a certain date. I also want to force the user to have macros enabled. So far I have the following script, but despite changing it to read-only it doesn't seem to do anything. I have also tried to enable protection on the sheets after that date, but am getting errors.
The code below first asks a user to input a weekending date (which must be a Saturday). The value of the input box goes to cell C1 of my spreadsheet. That part works fine. I also have a function in Cell G1 with the function:
=TEXT(C1, "dddd") I don't know if this is the best way to test for a Saturday but it is what I have,
Where is goes bad is if the date is not a Saturday. I have a loop to force a new date install via a input box but it won't update C1 with the inputed data to recheck for the Saturday value. Below is the whole code I am working with...
Dim aa As String Dim bb As String
If Range("C1") = "" Then Do While bb = "" bb = InputBox("Please Enter a Weekending Date!") Loop Range("C1").Value = bb End If If Range("G1") "Saturday" Then Do While aa "Saturday" aa = InputBox("Weekending Must Be a Saturday. Please Enter a New Weekending Date") Loop Range("C1").Value = aa End If
I am trying to convert the following macro to a Worksheet (section change) format, but cannot figure out how to have the cells B87:M150 change based upon the text (red, green, white, amber, na) in O87:o150.
Sub ordinate() Dim r As Range For Each r In Range("o87:o150")
If r.Value = "RED" Then r.EntireRow.Interior.ColorIndex = 3
ElseIf r.Value = "AMBER" Then r.EntireRow.Interior.ColorIndex = 44
ElseIf r.Value = "WHITE" Then r.EntireRow.Interior.ColorIndex = 2
ElseIf r.Value = "GREEN" Then r.EntireRow.Interior.ColorIndex = 4
ElseIf r.Value = "NONE" Then r.EntireRow.Interior.ColorIndex = 2
ElseIf r.Value = "NA" Then r.EntireRow.Interior.ColorIndex = 15 End If Next
Range("N86:IV132").Interior.ColorIndex = 2 Range("A86:A132").Interior.ColorIndex = 2 End Sub
I have userform with date pickers and have text boxes overlaid on these, when I select todays date from the date picker it does not display the current date in the text box (I have 8 date pickers on the userform). If I select another date then reselect the current date it works. It has occasionally worked but why.
Below is the code for populating the text box from the Date Picker.
Private Sub DTPicker1_Change() TextBox1.Value = DTPicker1.Value End Sub
The initialize userform code uses the following to format and set the textbox
Using 2003, I'm trying to do the following, data starting in A3, and ending in L3:-
- If A3 is blank, cells have no format - If A3 has a value, with A4 blank, fill is light blue and bottom line solid, top line dotted - If A3 has a value, and A4 does too, fill is light blue, top and bottom line dotted - If H3, which is a date field, is greater than today font is black, if less than today, font is red
I have DR and CR entries which are laid out. in the traditional T format (under the Ledger tab). I would like to have it formatted to the modern ledger type where there are no left and right but rather laid out in 1 page. The required layout is shown in the Ledger attachment
I am attempting to pick up a date with time entry on a worksheet and place it into a TextBox on a UserForm. Format on the sheet is mm/dd/yyyy h:mm AM/PM. The UserForm is placing the value as mm/dd/yyyy 12:00 AM. here is the
Private Sub UserForm_Initialize() If Not Range("dDate").Value = "" Then TextBox2.Value = Range("dDate").Value TextBox2.Text = Format(DateValue(TextBox2.Text), "mm/dd/yy h:mm AM/PM") Else TextBox2.Value = "" TextBox2.SetFocus End If End Sub
"dDate" is the named range where the date is sitting. The format is also set on the TextBox2 exit event. Can anyone see why only the date portion is being transfered with the default 12:00 AM for no time component of the value?
I am attempting to format some TextBoxes from within a For/Next loop. I need a way to check which TextBox is the active TextBox in the loop. Using i as the variable, I came up with this code snippet: Me.Controls("TB" & i).Text = Format("TB" & i, "mm/dd/yy")
If i = 3, this gives me in TextBox3 (which is called TB3) the text 'TB3' and not the value of what is in TB3. It has got to bo something simple, I just can't see it!!!
I have a text box in which date will be entered. I am using the following code to validate and format the date.
Code: Private Sub txtTDate_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) If IsDate(txtTDate.Value) Or txtTDate.Value > Date Then sDate = DateSerial(Year(Date), Month(Date), Day(Date))
[Code]...
I expected it to return error if the date entered is less than Current(System's) date. This is not working.
I am trying to validate two things for one TextBox and they somehow contradict each other:
Private Sub UserForm_Initialize() TextBox_today.Value = Date TextBox_today.Text = Format(TextBox_today.Text, "dd mmm yy") End Sub
Private Sub TextBox_expiry_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) With Me.TextBox_expiry If IsDate(.Text) Then .Text = Format(.Text, "dd mmm yy") Me.Label_expiry.Caption = "expiry as date:" Else Cancel = True.................................
Also, what other date formats I could use besides "dd mmm yy?"
I have a userform with 5 textboxes. Each textbox looks for certain kinds of user entry...my code has trouble in re-locating the cursor to the SAME textbox after rejecting the user entry. And BTW, ideally the text box would be highlited in this instance.
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean) Dim okstop As Boolean Dim yesno_continue As Boolean Dim mytext As String okstop = False Do TextBox2.SetFocus TextBox2.SelStart = 0 mytext = TextBox2.Value If Not IsDate(mytext) And mytext <> "" Then TextBox2.Value = "" yesno_continue = MsgBox("Please enter a date...try again?", vbYesNo) TextBox2.SetFocus Else okstop = True End If Loop Until (yesno_continue = vbNo) Or (okstop = True) End Sub
In my Excel VBA user form, there are multiple instances of the MS DTPicker control, which feed multiple text boxes. These in turn are linked to named cells on an worksheet. Note at this stage please that dates will not always be required, hence the text boxes. Only the button on the DTP controls are visible, alongside the related textbox.
My problem is that the values in the cells are in US date format and I need them to be recognised in the UK date format. The dates therein must be formatted as dates (ie not as text), as they are used throughout other worksheets for calculations. In the sample below, DTPickerDateOfIncorporation is the named cell (the control source). I know from Roy's responses to other questions on the DTPicker that he doesn't use it - is there a better alternative?