Results 1 to 18 of 18

Thread: Convert a formula to UDF Function

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #13
    VBAX Sage
    Joined
    Apr 2007
    Location
    United States
    Posts
    8,894
    Location
    Two new lines marked <<<<<<<<<<<

    Option Explicit
    
    
    Function Something(Conditions As String, Titles As Range) As Variant
        
        Dim X As Double
        Dim ary As Variant
        Dim i As Long
        
        Something = CVErr(xlErrNA)
        On Error GoTo NiceExit
        
        ary = Application.WorksheetFunction.Transpose(Application.WorksheetFunction.Transpose(Titles))
        For i = LBound(ary) To UBound(ary)
            ary(i) = Val(Format(ary(i)))
        Next i
        
        Select Case LCase(Conditions)
            Case "excellent", "very good", "good"
                X = ary(1) * 10# / 12#
                X = X + ary(5) + ary(8)
                If ary(2) >= 1440 Then X = X + ary(2) - 1440    '   <<<<<<<<<<
            
            Case Else
                X = ary(1) * 10# / 12#
                X = X + ary(3) + ary(4) + ary(13) + ary(14) + ary(20)
                X = X + ary(19) * ary(1)
                               
                If (ary(1) * 2.85 - Int(ary(1) * 2.85)) < 0.98 Then
                    X = X + Int(ary(1) * 2.85)
                Else
                    X = X + Int(ary(1) * 2.85)
                End If
                If ary(2) >= 1440 Then X = X + ary(2) - 1440    '   <<<<<<<<<<
        End Select
    
    
        Something = Round(X, 2)
    
    
    NiceExit:
    End Function
    Attached Files Attached Files
    ---------------------------------------------------------------------------------------------------------------------

    Paul


    Remember: Tell us WHAT you want to do, not HOW you think you want to do it

    1. Use [CODE] ....[/CODE ] Tags for readability
    [CODE]PasteYourCodeHere[/CODE ] -- (or paste your code, select it, click [#] button)
    2. Upload an example
    Go Advanced / Attachments - Manage Attachments / Add Files / Select Files / Select the file(s) / Upload Files / Done
    3. Mark the thread as [Solved] when you have an answer
    Thread Tools (on the top right corner, above the first message)
    4. Read the Forum FAQ, especially the part about cross-posting in other forums
    http://www.vbaexpress.com/forum/faq...._new_faq_item3

Posting Permissions

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