VBA convert date to a number based on text box input - vba

I have a userform I am making. An input box will open and the user will enter a month. Then The userform will open, inputting that month into textbox3. I want text box 1 to be 1&the number form of that month. I have tried several types of code but i am fairly new to vba.
Help would be appreciated.
Here is the code i have tried.
TextBox1=MONTH(DATEVALUE("1"&TextBox2.value))

With December in TextBox2, use,
TextBox1 = "1" & Month(DateValue("1-" & TextBox2.value))
TBH, I really wouldn't trust my users to spell the month name correctly but have them select from a list instead.

Related

powerpoint vba textbox update date

In slide 1, a textbox that says "Report For 07/26/2022 (12:00am to 11:59pm local time)" the textbox that has this phrase has the name "Rectangle 13"
I want to be able to update the date with vba. I want to keep the same formatting (i.e. the bold on the last part of the phrase)
I am guessing that I will need to do an inputbox to create a variable NewDate. the NewDate would be a string. then the NewDate would be updated in the textbox.
I am just unsure of the exact code

Where do I insert this code to create the macro in CorelDraw X7?

I'm referring to this post here:CorelDraw X6 Macro to insert Date using DTPicker Control
I am creating a template for everyday use for saving artwork proofs to send onto customers for visual approval. I'd like the following boxes to auto populate the following information:
1. A box that will populate today's date
2. A box that will populate the work order number based on the first 6 digits of the filename
3. A box that will populate the filename as a whole
The rectangles/boxes will already be in the document that gets imported. I just want to create a macro, or multiple...to click in order to fill these boxes before exporting to a PDF for customers approval.
I'm a total coding n00b and can't find specific directions on where to copy the code listed in the link above.
In the Corel Draw menu, go to "Tools" then "Macros" then "Macro editor".
After that, you can paste it in the right hand side of the screen, on the white empty box.
That should do it.

How to use UserForm Values for multiple things

I have UserForm1 which is a multipage userform and I am trying to access the information that was gathered through the form in a sub located in Module1. This sub will need to access several different values and do different things with those values so this is going to be a multipart question.
I have the below code in which I attempt to use one of the values as the upper limit of a For Next Loop. However the current problem is that when the code reaches this line it jumps to the Userform_Initialize routine.
For X = 1 To UserForm1.LocalOffer.Value
Second part of this question comes from inside the For Next loop from above. Where I have the below code. Which would ideally allow me to cycle through a series of similarly named Textboxes from the userform. Not even sure if that will work as the code keeps breaking before getting to that part.
Range("B" & X).Value = UserForm1.Controls("LocalTier" & Tier).Value
Last Part of this question if I have a Textbox in the userform that contains a date in the format 1/18/2015 is there a way for me to grab just a portion of that date say for instance just the Day or just the last digit of the year?
I am using Excel 2013 but the file will be ran on Excel 2007
Edit:
Turns out that problem 1 was fixed by not closing the userform with the X button but instead adding a line to hide the userform when you hit the last button. As it turns out my code for the second question worked just fine once i got past that. Only question left is the last one which I have no ideas on.
As from the comments, I see you don't need anymore to know about points 1 and 2, I will hence limit my answer to the point 3.
Last Part of this question if I have a Textbox in the userform that contains a date in the format 1/18/2015 is there a way for me to grab just a portion of that date say for instance just the Day or just the last digit of the year?
You can use either string manipulation, or date conversion.
Let's assume the Textbox is called myDateTextbox
String manipulation
Among the string manipulators that VBA provides, I would cite Left() and Right().
For example:
last_digit_of_the_year = Right(myDateTextbox.Text, 1)
will return you the last character of the string. On the other hand:
first_digit = Left(myDateTextBox.Text,1)
will return you the first digit of the string.
You can use the Len(myDateTextBox.Text) built-in to return the current length of the string.
Date conversion
You can simply convert your string into date using the CDate() function. Please note this function will return an error if you pass an invalid string. If your textbox contains 24/01/1990, you can first convert the string into a date:
myDate = CDate(myDateTextBox.Text)
Hence, you can retrieve day, month or year like this:
myYear = Year(myDate)
myMonth = Month(myDate)
myDay = Day(myDate)
Please note that CDate recognizes date formats according to the locale setting of your system.. Hence, if the format in the TextBox is not the same than the one of your system, then consider manipulating the string before to adapt it to the proper format. For example, if your system has settings DD/MM/YYYY and your textbox shows a MM/DD/YYYY type, you can "adjust it" as follows:
wrongFormat = myDateTextBox.Text
splittedDate = Split(wrongFormat,"/")
goodFormat = splittedDate(1) & "/" & splittedDate(0) & "/" splittedDate(2)
If wrongFormat was 1/18/2014 but your system would like to read it as 18/1/2014, it's now fine because goodFormat will be equal to 18/1/2014 after the split and re-build.

How to form a word from another word in vb.net

Hello great programmers in the house..
I am quite new to vb.net
I need help on how to detect if a word can be formed from another word:
here's what i mean...
TextBox1.Text="Nairaland"
TextBox2.Text= ....accepts any input
I want to be able to alert "Found!"
if something like ..."land" or "lad" or "Nail" or "Naaad".... is entered into textbox2
but "Not Found" if something like "Qeen" or "Landd" or 'Mail" is entered.
In a nutshell, I just want to be able to check if the characters in textbox2 are found in textbox1...not minding the sequence but no letter should be entered twice/trice except if it appears twice/trice
Please, help!
One way is to build a Dictionary(Char, Integer) of the character count for each character, in both textboxes. Then see if any of the characters in the second one aren't in the first or have a count greater than the first.

How do I edit an Access report on the fly?

This seems like it would be pretty simple, but I’ve been googling my brains out for the last two weeks and I can’t find the answer. I'm using Access 2010...
I have a form with a button that the user clicks to get a report, that button pops-up a form that ask for the date of the requested report and then the report open with the correct info. The problem is I need to manipulate the data before it is displayed. Some of it I’ve done directly through the SQL statement and some through the Control Source of the text boxes on the report. But some of the data is a little more complicated… I need to extract certain text from a “remarks” field (memo) and I need to concatenate a few fields together separated by a comma, some of which may be blank. I know I can use the “+” to do that as in “lastName & (“,” + firstName) which will eliminate the unwanted trailing comma… but what if “lastName” is blank… I will be left with an unwanted preceding comma???
How do I loop through the data as it is being “written” to the report so as to edit it “on-the-fly”? I don’t want the user to edit the data because I want to get the exact same results every time.
This an answer to the first question (but what if “lastName” is blank):
lastName & IIf(Len(Lastname) > 0, ",", "") & firstName