ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   add total from 6 textboxes and put in label (https://www.excelbanter.com/excel-programming/404607-add-total-6-textboxes-put-label.html)

pswanie

add total from 6 textboxes and put in label
 
i got 6 textboxes where users enter amounts. i need the total from those to
display in label24 userform1

would it be posible to default the amount enterd in a text box with the
prefix "R" and "." to seperate sents? we use amounts like R1125.80

Matthew Pfluger

add total from 6 textboxes and put in label
 
Hello,

Try this:

Sub Example()

' Create variables
Dim dRunningTotal As Double
Dim ctrl As MSForms.ctrlontrol

' Loop through controls looking for text boxes
For Each ctrl In Me.ctrlontrols
If TypeOf ctrl Is MSForms.TextBox Then
' Remove first letter from text box value
dRunningTotal = dRunningTotal + Right(ctrl.Text, Len(ctrl.Text)
- 1)
End If
Next ctrl

' Copy total to label
Me.label24.Value = dRunningTotal

End Sub

HTH,
Matthew Pfluger

"pswanie" wrote:

i got 6 textboxes where users enter amounts. i need the total from those to
display in label24 userform1

would it be posible to default the amount enterd in a text box with the
prefix "R" and "." to seperate sents? we use amounts like R1125.80


pswanie

add total from 6 textboxes and put in label
 
i got about 20 textboxes and need one set of 6 to sumtotal to label1
another 5 sumtotal to label2
and 3 to sumtotal to label3

"Matthew Pfluger" wrote:

Hello,

Try this:

Sub Example()

' Create variables
Dim dRunningTotal As Double
Dim ctrl As MSForms.ctrlontrol

' Loop through controls looking for text boxes
For Each ctrl In Me.ctrlontrols
If TypeOf ctrl Is MSForms.TextBox Then
' Remove first letter from text box value
dRunningTotal = dRunningTotal + Right(ctrl.Text, Len(ctrl.Text)
- 1)
End If
Next ctrl

' Copy total to label
Me.label24.Value = dRunningTotal

End Sub

HTH,
Matthew Pfluger

"pswanie" wrote:

i got 6 textboxes where users enter amounts. i need the total from those to
display in label24 userform1

would it be posible to default the amount enterd in a text box with the
prefix "R" and "." to seperate sents? we use amounts like R1125.80


Matthew Pfluger

add total from 6 textboxes and put in label
 
The best solution here is to rename your textboxes with a little prefix like
this:
"grp1TextBoxName"
Then you can run 1 loop that adds up textbox values based on that prefix:

Sub Example()

' Create variables
Dim dSum1 As Double
Dim dSum2 As Double
Dim dSum3 As Double
Dim ctrl As MSForms.Control

' Loop through controls looking for text boxes
For Each ctrl In Me.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If InStr(ctrl.Name, "grp1") < 0 Then
' Add to group 1 total

' Remove first letter from text box value
dSum1 = dSum1 + Right(ctrl.Text, Len(ctrl.Text) - 1)
ElseIf InStr(ctrl.Name, "grp2") < 0 Then
' Add to group 2 total

' Remove first letter from text box value
dSum2 = dSum2 + Right(ctrl.Text, Len(ctrl.Text) - 1)
ElseIf InStr(ctrl.Name, "grp3") < 0 Then
' Add to group 2 total

' Remove first letter from text box value
dSum3 = dSum3 + Right(ctrl.Text, Len(ctrl.Text) - 1)
End If
End If
Next ctrl

' Copy totals to labels
With Me
.label1.Value = dSum1
.label2.Value = dSum2
.label3.Value = dSum3
End With

End Sub

The code finds all textboxes, checks their name for either "grp1", "grp2",
or "grp3", and then adds up totals based on that naming convention.

Hope this helps,
Matthew Pfluger

"pswanie" wrote:

i got about 20 textboxes and need one set of 6 to sumtotal to label1
another 5 sumtotal to label2
and 3 to sumtotal to label3

"Matthew Pfluger" wrote:

Hello,

Try this:

Sub Example()

' Create variables
Dim dRunningTotal As Double
Dim ctrl As MSForms.ctrlontrol

' Loop through controls looking for text boxes
For Each ctrl In Me.ctrlontrols
If TypeOf ctrl Is MSForms.TextBox Then
' Remove first letter from text box value
dRunningTotal = dRunningTotal + Right(ctrl.Text, Len(ctrl.Text)
- 1)
End If
Next ctrl

' Copy total to label
Me.label24.Value = dRunningTotal

End Sub

HTH,
Matthew Pfluger

"pswanie" wrote:

i got 6 textboxes where users enter amounts. i need the total from those to
display in label24 userform1

would it be posible to default the amount enterd in a text box with the
prefix "R" and "." to seperate sents? we use amounts like R1125.80


pswanie

add total from 6 textboxes and put in label
 
will give that a try and let u know. in the meanwhile i started thinking if
i shouldnt rather have only one textbox and a combobox.

the textbox the can enter the amount and the combo box will give the cashier
name.

and let it all add to a cell on sheet1 depending on the name. ie. anna colum
a and mari colum b and john colum c

and have the lable go and get the total from there.

will let u know


thanx

"Matthew Pfluger" wrote:

The best solution here is to rename your textboxes with a little prefix like
this:
"grp1TextBoxName"
Then you can run 1 loop that adds up textbox values based on that prefix:

Sub Example()

' Create variables
Dim dSum1 As Double
Dim dSum2 As Double
Dim dSum3 As Double
Dim ctrl As MSForms.Control

' Loop through controls looking for text boxes
For Each ctrl In Me.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If InStr(ctrl.Name, "grp1") < 0 Then
' Add to group 1 total

' Remove first letter from text box value
dSum1 = dSum1 + Right(ctrl.Text, Len(ctrl.Text) - 1)
ElseIf InStr(ctrl.Name, "grp2") < 0 Then
' Add to group 2 total

' Remove first letter from text box value
dSum2 = dSum2 + Right(ctrl.Text, Len(ctrl.Text) - 1)
ElseIf InStr(ctrl.Name, "grp3") < 0 Then
' Add to group 2 total

' Remove first letter from text box value
dSum3 = dSum3 + Right(ctrl.Text, Len(ctrl.Text) - 1)
End If
End If
Next ctrl

' Copy totals to labels
With Me
.label1.Value = dSum1
.label2.Value = dSum2
.label3.Value = dSum3
End With

End Sub

The code finds all textboxes, checks their name for either "grp1", "grp2",
or "grp3", and then adds up totals based on that naming convention.

Hope this helps,
Matthew Pfluger

"pswanie" wrote:

i got about 20 textboxes and need one set of 6 to sumtotal to label1
another 5 sumtotal to label2
and 3 to sumtotal to label3

"Matthew Pfluger" wrote:

Hello,

Try this:

Sub Example()

' Create variables
Dim dRunningTotal As Double
Dim ctrl As MSForms.ctrlontrol

' Loop through controls looking for text boxes
For Each ctrl In Me.ctrlontrols
If TypeOf ctrl Is MSForms.TextBox Then
' Remove first letter from text box value
dRunningTotal = dRunningTotal + Right(ctrl.Text, Len(ctrl.Text)
- 1)
End If
Next ctrl

' Copy total to label
Me.label24.Value = dRunningTotal

End Sub

HTH,
Matthew Pfluger

"pswanie" wrote:

i got 6 textboxes where users enter amounts. i need the total from those to
display in label24 userform1

would it be posible to default the amount enterd in a text box with the
prefix "R" and "." to seperate sents? we use amounts like R1125.80



All times are GMT +1. The time now is 09:53 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com