ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   formula behind field on user form (https://www.excelbanter.com/excel-programming/407145-formula-behind-field-user-form.html)

Lisa

formula behind field on user form
 
Hi

I have drop down lists within a worksheet, which allow me to key in a
select the supplier, itema, itemb, and retrieve the price. I have gotten this
working perfectly by using named ranges and the following formula

=SUMPRODUCT(--(supplier=G2),--(itema=H2),--(itemb=I2), (Price))

I now want to move the functionality to a user form. I have managed to put
my named ranges into the RowSource properties of each of my list boxes on the
form, however, I need to place this formula somewhere against my 'price'
field in order that it retrieves the price based on the supplier, item etc
selecte.

Thanks in advance

Bernie Deitrick

formula behind field on user form
 
Lisa,

Assuming all the values are on the Userform:


Private Sub CommandButton1_Click()
Dim myform As String
myform = "SumProduct((Supplier = """ & UserForm1.TextBox1.Text & """)*(ItemA = """ &
UserForm1.TextBox2.Text & """)*(ItemB= """ & UserForm1.TextBox3.Text & """)*Price)"
Msgbox "The price for that item is " & Evaluate(myform)
End Sub

If any of the Textbox entries are numbers, then you will need to get rid of the extra "" and cast
the text into a number using CInt or CDbl....


HTH,
Bernie
MS Excel MVP


"Lisa" wrote in message
...
Hi

I have drop down lists within a worksheet, which allow me to key in a
select the supplier, itema, itemb, and retrieve the price. I have gotten this
working perfectly by using named ranges and the following formula

=SUMPRODUCT(--(supplier=G2),--(itema=H2),--(itemb=I2), (Price))

I now want to move the functionality to a user form. I have managed to put
my named ranges into the RowSource properties of each of my list boxes on the
form, however, I need to place this formula somewhere against my 'price'
field in order that it retrieves the price based on the supplier, item etc
selecte.

Thanks in advance




Lisa

formula behind field on user form
 
Great, thanks Bernie. I'd like to have a field at the bottom of the form that
displays the price, rather than a button, would the macro be the same?

Will definitely give your suggestion a go anyway.

Thanks again

"Bernie Deitrick" wrote:

Lisa,

Assuming all the values are on the Userform:


Private Sub CommandButton1_Click()
Dim myform As String
myform = "SumProduct((Supplier = """ & UserForm1.TextBox1.Text & """)*(ItemA = """ &
UserForm1.TextBox2.Text & """)*(ItemB= """ & UserForm1.TextBox3.Text & """)*Price)"
Msgbox "The price for that item is " & Evaluate(myform)
End Sub

If any of the Textbox entries are numbers, then you will need to get rid of the extra "" and cast
the text into a number using CInt or CDbl....


HTH,
Bernie
MS Excel MVP


"Lisa" wrote in message
...
Hi

I have drop down lists within a worksheet, which allow me to key in a
select the supplier, itema, itemb, and retrieve the price. I have gotten this
working perfectly by using named ranges and the following formula

=SUMPRODUCT(--(supplier=G2),--(itema=H2),--(itemb=I2), (Price))

I now want to move the functionality to a user form. I have managed to put
my named ranges into the RowSource properties of each of my list boxes on the
form, however, I need to place this formula somewhere against my 'price'
field in order that it retrieves the price based on the supplier, item etc
selecte.

Thanks in advance





Bernie Deitrick

formula behind field on user form
 
Lisa,

The macro to evaluate the sumproduct expression would be essentially the same, but you would need to
tie it to a change event, and do some error checking for blank fields, perhaps.

HTH,
Bernie
MS Excel MVP


"Lisa" wrote in message
...
Great, thanks Bernie. I'd like to have a field at the bottom of the form that
displays the price, rather than a button, would the macro be the same?

Will definitely give your suggestion a go anyway.

Thanks again

"Bernie Deitrick" wrote:

Lisa,

Assuming all the values are on the Userform:


Private Sub CommandButton1_Click()
Dim myform As String
myform = "SumProduct((Supplier = """ & UserForm1.TextBox1.Text & """)*(ItemA = """ &
UserForm1.TextBox2.Text & """)*(ItemB= """ & UserForm1.TextBox3.Text & """)*Price)"
Msgbox "The price for that item is " & Evaluate(myform)
End Sub

If any of the Textbox entries are numbers, then you will need to get rid of the extra "" and cast
the text into a number using CInt or CDbl....


HTH,
Bernie
MS Excel MVP


"Lisa" wrote in message
...
Hi

I have drop down lists within a worksheet, which allow me to key in a
select the supplier, itema, itemb, and retrieve the price. I have gotten this
working perfectly by using named ranges and the following formula

=SUMPRODUCT(--(supplier=G2),--(itema=H2),--(itemb=I2), (Price))

I now want to move the functionality to a user form. I have managed to put
my named ranges into the RowSource properties of each of my list boxes on the
form, however, I need to place this formula somewhere against my 'price'
field in order that it retrieves the price based on the supplier, item etc
selecte.

Thanks in advance








All times are GMT +1. The time now is 10:58 AM.

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