Solved

Upper case in text box

Posted on 2010-09-14
8
712 Views
Last Modified: 2012-05-10


Private Sub Calendar1_Click()

TextBox1.Text = Format(Calendar1.Value, "mm/dd/yy")
    'inserts date into textbox1


End Sub

Private Sub CkBoxIncoming_Click()

End Sub

Private Sub CmdBtnCloseForm_Click()

Unload Me        'removes form from spreadsheet with cmd btn.

End Sub

Private Sub CommandButton1_Click()

    'inserts textbox data into spreadsheet fields.

Dim r As Range
Set r = Range("A40").End(xlUp)      'a65536
Set r = r.Offset(1, 0)
r.Value = TextBox1.Value
Set r = r.Offset(0, 1) 'moves right with each "1".
r.Value = TextBox2.Value
Set r = r.Offset(0, 1)
r.Value = TextBox3.Value
Set r = r.Offset(0, 1)
r.Value = TextBox4.Value
Set r = r.Offset(0, 1)
r.Value = CkBoxIncoming.Value

How do I force capital letters into the above text boxes?

How do I write the code in a better fashion with all the value lines?  e.g. with or select?
0
Comment
Question by:1r3o2n8
  • 5
  • 3
8 Comments
 
LVL 13

Expert Comment

by:MWGainesJR
ID: 33675563

Private Sub Calendar1_Click()



TextBox1.Text = Format(Calendar1.Value, "mm/dd/yy")

    'inserts date into textbox1





End Sub



Private Sub CkBoxIncoming_Click()



End Sub



Private Sub CmdBtnCloseForm_Click()



Unload Me        'removes form from spreadsheet with cmd btn.



End Sub



Private Sub CommandButton1_Click()



    'inserts textbox data into spreadsheet fields.



Dim r As Range

Set r = Range("A40").End(xlUp)      'a65536

Set r = r.Offset(1, 0)

r.Value = ucase(TextBox1.Value)

Set r = r.Offset(0, 1) 'moves right with each "1".

r.Value = ucase(TextBox2.Value)

Set r = r.Offset(0, 1)

r.Value = ucase(TextBox3.Value)

Set r = r.Offset(0, 1)

r.Value = ucase(TextBox4.Value)

Set r = r.Offset(0, 1)

r.Value = CkBoxIncoming.Value

Open in new window

0
 

Author Comment

by:1r3o2n8
ID: 33675816
That works great.  Thanks alot.  
In that area of code where you made the ucase corrections, is there a way to recode it, perhaps with a "with" statement, that will reduce the amount of code?
0
 
LVL 13

Expert Comment

by:MWGainesJR
ID: 33675934
No but you can do this which is even more efficient
on error resume next

Dim r As Range

dim ws as worksheet

set ws = activesheet

Set r = ws.Range("A" & ws.Range("A40").End(xlUp).row + 1 & ":E" & ws.Range("A40").End(xlUp).row + 1)      'a65536  

for each c in r

c.Value = ucase(me.controls("TextBox" & c.column).value)

next

Open in new window

0
 
LVL 13

Expert Comment

by:MWGainesJR
ID: 33675969
Actually use this, don't use A40
on error resume next  

Dim r As Range  

dim ws as worksheet  

set ws = activesheet  

Set r = ws.Range("A" & ws.Range("A" & ws.range("A:A").rows.count).End(xlUp).row + 1 & ":E" & ws.Range("A" & ws.range("A:A").rows.count).End(xlUp).row + 1)      'a65536    

for each c in r  

c.Value = ucase(me.controls("TextBox" & c.column).value)  

next

Open in new window

0
Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

 
LVL 13

Expert Comment

by:MWGainesJR
ID: 33676011
oops, I looked over your combobox.....check the below code of the fix.....
on error resume next    

Dim r As Range    

dim ws as worksheet    

set ws = activesheet    

Set r = ws.Range("A" & ws.Range("A" & ws.range("A:A").rows.count).End(xlUp).row + 1 & ":D" & ws.Range("A" & ws.range("A:A").rows.count).End(xlUp).row + 1)      'a65536      

for each c in r 

if c.column <> r.cells.count then  

c.Value = ucase(me.controls("TextBox" & c.column).value)

else

c.value = CkBoxIncoming.Value

end if

next

Open in new window

0
 

Author Comment

by:1r3o2n8
ID: 33676601
Your code did the job!  May I have an explanation of lines 5-8??
0
 
LVL 13

Accepted Solution

by:
MWGainesJR earned 125 total points
ID: 33677747
It sets r to the range that you are filling and then loops through each cell. Because each column is mapped to the textbox number (column 1 to textbox1 etc) it can set the values dynamically. Just be careful when adding and subtracting columns/textboxes and renaming textboxes. You'll have to edit code with it.
0
 

Author Closing Comment

by:1r3o2n8
ID: 33677819
THANX!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

User Beware!  This is a rather permanent solution to removing your email from an exchange server.  The only way to truly go back is to have your exchange administrator restore your mailbox from backups.  This is usually the option of last resort.  A…
This article descibes how to create a connection between Excel and SAP and how to move data from Excel to SAP or the other way around.
The viewer will learn how to use a discrete random variable to simulate the return on an investment over a period of years, create a Monte Carlo simulation using the discrete random variable, and create a graph to represent the possible returns over…
Graphs within dashboards are meant to be dynamic, representing data from a period of time that will change each time the dashboard is updated with new data. Rather than update each graph to point to a different set within a static set of data, t…

937 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

5 Experts available now in Live!

Get 1:1 Help Now