Consulting

Results 1 to 3 of 3

Thread: Calculations between Textbox values on Form

  1. #1
    VBAX Contributor Glaswegian's Avatar
    Joined
    Sep 2004
    Location
    Glasgow, Scotland
    Posts
    196
    Location

    Calculations between Textbox values on Form

    Hi

    I have a form where users input various values and the data is written to a hidden sheet.

    One of the checks carried out is to 2 textboxes on the form. The user inputs numeric values to each textbox. The code then checks that the customer deposit is not more than the asset cost. However, no matter what value is input as the deposit, the code always thinks it is greater than the asset cost. I can't see why this should happen.
    Private Sub txbDeposit_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    'checks the value of the deposit against the asset cost
    If txbDeposit.Value > txbAssCost.Value Then 'if the deposit is more than the cost...
        MsgBox "The deposit is greater than the cost - please check.", 48, "Invalid Input - Deposit Amount"
        Cancel = True
        With txbDeposit
            .Value = ""
            .SetFocus 'reset the focus back to the empty field
        End With
            Else
                If txbAssCost.Value = "" Or txbAssCost.Value = 0 Then 'if the Asset Cost textbox is empty then...
                    MsgBox "An Asset Cost amount must be entered.", 48, "Calculation Error - Asset Cost Field"
                    Cancel = True
                    txbAssCost.SetFocus 'reset the focus back to the empty field
                End If
                'if the input is OK, update some sheet values...
                    txbFinance.Value = txbAssCost - txbDeposit 'works out the value to be financed
                    txbDeposit.Value = Format(txbDeposit.Value, "#,##0") 'formats the deposit field
                    lbPercentage.Caption = Format((frmMain.txbDeposit.Value / _
                        frmMain.txbAssCost.Value) * 100, "#,##0.00") & "%" 'calculates the deposit %age
                    lbPercentage.Visible = True 'shows the %age box
                    Sheets("Form").Range("B10").Value = txbDeposit.Value
    End If
    End Sub
    I'd be grateful if anyone could point out my latest explosion of stupidity.
    Iain - XL2010 on Windows 7

  2. #2
    Try converting the textbox values to numbers. Like
    [VBA]If CSng(txbDeposit.Value) > CSng(txbAssCost.Value) Then[/VBA]

    Jimmy
    -------------------------------------------------
    The more details you give, the easier it is to understand your question. Don't save the effort, tell us twice rather than not at all. The amount of info you give strongly influences the quality of answer, and also how fast you get it.

  3. #3
    VBAX Contributor Glaswegian's Avatar
    Joined
    Sep 2004
    Location
    Glasgow, Scotland
    Posts
    196
    Location
    Jimmy

    Thank you. Obviously too simple an idea for my brain to cope with!

    Cheers!
    Iain - XL2010 on Windows 7

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •